Search code examples
sslssl-certificateiis-10

IIS SSL Certificate No longer visible from internet


Pulling my hair out here. Yesterday I set up an SSL Certificate in IIS10. This is the process I followed:

  1. In IIS, under Server Certificates complete Create Certificate Request (generated server.csr & server.key)
  2. Go to sslforfree.com and start "create certificate" process.
  3. Enter Static IP in Domain box
  4. In Validity, choose paste Existing CSR (paste in contents of server.csr)
  5. Select free 90 day certificate
  6. Choose HTTP file upload and add auth file to virtual share in IIS.
  7. Verified OK.
  8. Download certificate
  9. Back in IIS, select "Complete Certificate Request"
  10. Browse to and select "certificate.crt" file.
  11. Give it a friendly name etc, and save.
  12. Browse to website under sites in IIS, and select Bindings. Choose the IP of the server, the incoming Port, and the newly imported SSL certificate.
  13. Back in sslforfree, check the installation.
  14. Everything all good

So everything was working beautifully, could see the certificate in the browser etc, job done.

Now come to today, and the server is actively refusing requests. Go back to check the installation of my SSL on sslforfree, and it's no longer found. Tried removing and re-adding, but nothing I do seems to get the SSL to be visible.

It's not that the certificate is refused, the browser doesn't even think it's there. Why would IIS suddenly stop sharing the certificate? I am totally stumped.

EDIT

As per the advice below, I set up a DNS name with CloudFlare and pointed it at my server.

enter image description here

I Set up the bindings in IIS to link to the new hostname and removed the old certificate (one for port 443 and this one for port 4443 which the API runs on):

enter image description here

Ports 80, 443 and 4443 are all port-forwarded on the router to my server:

enter image description here

I then downloaded Win-ACME and successfully created the Let's Encrypt certificate, and the renewal task created in Task Scheduler.

enter image description here

SSL Cert now shows in Bindings:

enter image description here

SSL Certificate appears to be all good:

enter image description here

...but when I go to the site, using the new domain name. Same problem... no certificate:

enter image description here

So I'm not sure what the problem is here...

enter image description here


Solution

  • Thanks to Lex Li, I was able to dig around with Jexus Manager, and IIS Crypto to work out what was wrong.

    Seems having TLS 1.2 an TLS 1.3 enabled on my machine at the same time was causing issues. Discovered this using Postman and disabling certain TLS Protocols, eventually getting it to work.

    For those of you who may experience similar issues, using this application and setting it to "Best Practices" after disabling TLS 1.3 in my Registry, I finally have it working, with a certificate.

    enter image description here

    enter image description here