What a Windows VPS needs before the first login
Hosting a site on a Windows VPS means an RDP login, the IIS role, a site binding, a DNS A record, and open ports 80 and 443. You know it worked when your hostname returns your own homepage instead of the IIS welcome screen.
- Windows Server 2022 or 2025 with Desktop Experience. Server Core has no IIS Manager window.
- A public IPv4 address and the local Administrator password from the provider.
- A domain whose DNS you can edit, and the site files on your own machine.
- 2 GB RAM is the floor for IIS with a small SQL database; 4 GB is comfortable.
IIS 10 ships inside Windows Server 2016 through 2025 as a role. Nothing is downloaded, and no separate licence is bought beyond the Windows Server licence the VPS already carries.
Connect over RDP and install the IIS role
Use the built-in Remote Desktop client. On Windows, press Start, type mstsc, enter the public IP, then the Administrator credentials. On macOS use the Microsoft Windows App, and on Linux use Remmina with the RDP protocol on port 3389.
- In Server Manager open Add roles and features, choose Role-based or feature-based installation, and select the local server.
- Tick Web Server (IIS) and accept the features the wizard adds.
- Under Web Server, open Application Development. Tick ASP.NET 4.8, .NET Extensibility 4.8, ISAPI Extensions and ISAPI Filters for .aspx sites. Leave them clear for static HTML.
- Finish the wizard and restart only if it asks.
- On the server, open a browser and load http://localhost. The IIS welcome page proves the role runs before DNS is touched.
If http://localhost fails inside the server, the fault is the role or the W3SVC service, not DNS. Nothing you change at the registrar will fix it.
Copy the site and create the IIS site binding
Copy the files into C:\inetpub\wwwroot, or into a folder of your own such as C:\sites\example. Drag and drop over RDP is fine for a few megabytes; use FTP or Web Deploy for larger trees.
In IIS Manager, right-click Sites, then Add Website. Name it, set the physical path, leave IP as All Unassigned, set port 80, and type your hostname in the Host name field. That host header is what separates two sites sharing one IP address.
- App pool for ASP.NET: .NET CLR Version v4.0, managed pipeline Integrated.
- App pool for static HTML or PHP: No Managed Code.
- Default Document: put index.html or default.aspx at the top of the list.
- Bare domain and www are two bindings on one site, unless you redirect one to the other.
Point DNS at the VPS and open ports 80 and 443
At the registrar, create an A record for @ and another for www, both pointing at the VPS public IP. Set the TTL to 300 seconds while you test, then raise it to 3600 once the site is stable.
Windows Firewall blocks inbound HTTP on a fresh install. Open Windows Defender Firewall with Advanced Security, then Inbound Rules, then New Rule. Choose Port, TCP, 80 and 443, Allow. Repeat in the provider cloud firewall or security group if the VPS has one, because both layers must pass the traffic.
Leave 3389 open only to your own IP addresses. An RDP port exposed to the whole internet is the most common way a Windows VPS is taken over within a week of going live.
Verify the site from outside the server
Loading http://localhost only proves IIS is running. Test the hostname from a phone on mobile data, which bypasses your office DNS cache. You know it worked when the hostname shows your homepage, not an error page.
Then read the access log in C:\inetpub\logs\LogFiles\W3SVC1. Your test request should appear with status 200. A 200 in the log with a blank browser tab means a missing default document, not a network fault.
For HTTPS, import the PFX into the Local Computer personal certificate store, add an https binding on port 443 in IIS Manager, and select the certificate. Add an http-to-https redirect with the URL Rewrite module, or order a certificate through WebJi SSL certificates and install it the same way.
Common Windows VPS hosting failures and fixes
Six errors cover most first deployments on IIS. Match the symptom to the cause, make one change, then reload the hostname.
| Symptom | Cause | Fix |
|---|---|---|
| Your domain shows the blue IIS welcome page | No host header for that name on the binding, or DNS still points at the old server | Add the hostname in IIS Manager, then confirm with nslookup |
| HTTP 500.19 cannot read configuration | A module named in the error is missing, often URL Rewrite, or web.config has a locked section | Install that module; unlock the section in Configuration Editor |
| HTTP 403.14 Forbidden | Directory browsing is off and no default document matches the request | Add index.html or default.aspx to Default Document |
| ERR_CONNECTION_TIMED_OUT | Port 80 blocked by Windows Firewall or by the provider firewall | Add the inbound rule and the security-group rule |
| HTTP 404 on .aspx pages | ASP.NET feature missing, or the app pool is set to No Managed Code | Add ASP.NET 4.8, set CLR v4.0 Integrated, recycle the pool |
| HTTP 500.21 handler not recognized | ASP.NET is registered for a different .NET version | Reinstall the ASP.NET feature, then recycle the app pool |
A Windows VPS from WebJi® and when shared Windows hosting fits better
WebJi® runs Windows VPS servers on Windows Server 2019, 2022 or 2025 with IIS available as a role, from ₹5,900 per month before 18% GST for 2 vCPU, 8 GB RAM and 100 GB storage. Larger configurations are quoted by email before payment.
The server is unmanaged: you own IIS, SQL Server and the firewall. If you would rather not open RDP at all, Windows shared hosting with MS SQL does the panel work instead and starts at ₹2,300 per year before GST.
Frequently Asked Questions
How do I host a website on a Windows VPS?
Log in over RDP, add the Web Server (IIS) role from Server Manager, copy the files to C:\inetpub\wwwroot, and add a site binding with your hostname. Then point an A record at the public IP and allow TCP 80 and 443. The site is live when the hostname returns your homepage in a browser outside the VPS.
Which Windows Server version should I choose for IIS?
Windows Server 2022 or 2025 with Desktop Experience. Both include IIS 10, and 2022 has the longer record with third-party modules. Avoid Server Core unless you are comfortable in PowerShell, because there is no IIS Manager window on it.
How long does DNS take to point at a Windows VPS?
Set the A record TTL to 300 seconds before the change. Most resolvers pick the new address up within an hour, but a cached record can hold for the old TTL, up to 48 hours. Check with nslookup against 8.8.8.8 instead of trusting the browser cache.
Which ports must stay open on a Windows VPS?
TCP 80 and 443 for the website, and TCP 3389 for RDP limited to your own IP addresses. Open 21 or 22 only while you upload files, then close it. Apply the same rules in the provider firewall, not only in Windows Firewall.
How do I install an SSL certificate in IIS?
Import the PFX into the Local Computer personal store, open the site bindings, add an https binding on port 443, and select the certificate. Then add an http-to-https redirect with URL Rewrite. The job is done when https:// shows a padlock and http:// redirects to it.
Why does my domain show the IIS welcome page?
The binding has no host header for that name, or DNS still resolves to another server. Add the hostname to the site binding in IIS Manager, then run nslookup to confirm the A record returns the VPS IP.

