How to Install an SSL Certificate on IIS

Enabling HTTPS on IIS requires installing a certificate and binding it to your site. This guide covers using a free Let's Encrypt certificate via the Win-ACME client, as well as installing a purchased certificate.

Prerequisites

  • IIS installed with a site already configured
  • A domain name with its A record pointing to your VPS
  • Administrator access

Option 1 — Free Certificate with Win-ACME (Let's Encrypt)

Step 1 — Download Win-ACME

Download the latest release from the official Win-ACME GitHub releases page and extract it to a folder such as C:\win-acme.

Step 2 — Allow Port 80 (Required for Validation)

New-NetFirewallRule -DisplayName "Allow HTTP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow

Step 3 — Run Win-ACME

cd C:\win-acme
.\wacs.exe

Follow the interactive prompts: choose "N" for a new certificate, select the IIS site to secure, and let it auto-detect the binding.

Step 4 — Verify the Binding

Win-ACME automatically creates an HTTPS binding in IIS Manager for the selected site. Verify:

https://yourdomain.com

Step 5 — Confirm Auto-Renewal Is Scheduled

Win-ACME creates a Windows scheduled task for automatic renewal:

Get-ScheduledTask -TaskName "win-acme*"

Option 2 — Installing a Purchased Certificate

Step 1 — Generate a CSR

  1. Open IIS Manager
  2. Select the server node, open Server Certificates
  3. Click Create Certificate Request, fill in your organization details
  4. Save the CSR file and submit it to your certificate authority

Step 2 — Complete the Certificate Request

Once your CA issues the certificate, in IIS Manager: Server Certificates → Complete Certificate Request, and select the certificate file provided.

Step 3 — Bind the Certificate to Your Site

  1. Select your site in IIS Manager
  2. Click Bindings → Add
  3. Type: https, Port: 443, select your certificate from the SSL certificate dropdown
  4. Click OK

Forcing HTTPS Redirect

Install the URL Rewrite module, then add a rule in web.config:

<rule name="Redirect to HTTPS" stopProcessing="true">
  <match url="(.*)" />
  <conditions>
    <add input="{HTTPS}" pattern="off" ignoreCase="true" />
  </conditions>
  <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>

Common Errors

Win-ACME validation fails — confirm your domain's DNS actually points to this server and port 80 is reachable from the internet.

"The specified network name is no longer available" during certificate completion — ensure IIS Admin Service is running.

Certificate installed but browser shows a warning — verify the certificate matches the exact domain being accessed and hasn't expired.

Best Practices

  • Prefer Win-ACME/Let's Encrypt for cost-free, automatically renewing certificates unless a specific extended-validation certificate is required
  • Always force HTTPS redirects for production sites
  • Confirm auto-renewal is actually working before relying on it

Related Articles

  • How to Install IIS on a Windows VPS
  • How to Configure Windows Firewall on a Windows VPS
  • How to Deploy an ASP.NET Application on IIS
  • iis ssl, win-acme, lets encrypt windows, iis https
  • 1 أعضاء وجدوا هذه المقالة مفيدة
هل كانت المقالة مفيدة ؟

مقالات مشابهة

How to Connect to a Windows VPS via Remote Desktop (RDP)

Remote Desktop Protocol (RDP) provides full graphical access to a Windows Server VPS, letting you...

How to Secure RDP on a Windows VPS

RDP's default configuration (standard port, password authentication, unlimited login attempts)...

How to Create a New Administrator User on Windows Server

Using only the built-in Administrator account for all management tasks is risky. Creating a...

How to Install Windows Updates on a Windows VPS

Keeping Windows Server updated is essential for security and stability. This guide covers...

How to Configure Windows Firewall on a Windows VPS

Windows Defender Firewall controls which network connections are allowed to and from your server....