IISExpress cannot find ssl page running localhost

2019-03-10 19:20发布

When I access the site as http://localhost:26049, the site runs fine. If I try to access the site with https://localhost:44319, I get page not found.

This is my project properties:

project properties

This is from my IISExpress application config:

<site name="MVC Authentication" id="2">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="F:\Projects\MySite\Test" />
    </application>
    <bindings>
        <binding protocol="https" bindingInformation="*:44319:localhost" />
        <binding protocol="http" bindingInformation="*:26049:localhost" />
    </bindings>
</site>

10条回答
Animai°情兽
2楼-- · 2019-03-10 19:40

I had the same problem. My HTTP site was running fine, but IIS Express just wouldn't start my SSL site. While it did the day before.

My problem was that I had somehow messed up the aplicationhost.config file. My project was registered twice:

<site name="Test.Api" id="5">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\Users\bartd\Source\Repos\Test\Test.Api" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:27108:localhost" />
    </bindings>
</site>
<site name="Test.Api(1)" id="6">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\Users\bartd\Source\Repos\Test\Test.Api" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:27108:localhost" />
        <binding protocol="https" bindingInformation="*:44349:localhost" />
    </bindings>
</site>

Removing both entries and creating a new virtual directory from the project properties page fixed the problem for me.

Creating a new virtual directory from the properties page

查看更多
再贱就再见
3楼-- · 2019-03-10 19:41

It looks like IIS Express is not starting the project under the https URL. Try changing the default project URL to the SSL one in

"Web Project->Properties->Web->Project URL" to the URL with https.

enter image description here

查看更多
Rolldiameter
4楼-- · 2019-03-10 19:44

I was having these SSL issues with Chrome and Edge.

After a long process of reviewing all these answers and suggestions, what eventually worked for me (asp.net mvc 5, VS2015) was a mix of the answers above

  1. Add Certificates snap in as shown above, removing mutlitple certs and regenerate a new certificat: Thanks @garethb
  2. The issue then is around the trust level of that certificate. The following link shows step by step process to export and then import (not just move) the local certificate https://blogs.msdn.microsoft.com/robert_mcmurray/2013/11/15/how-to-trust-the-iis-express-self-signed-certificate/

    1. When closing everything and then rebuild and deploy into IIS Express, I no longer have the SSL errors in any browser
查看更多
Juvenile、少年°
5楼-- · 2019-03-10 19:45

Please, for the love of g*d, try this, before you get mired in some unnecessary craziness!

(Apparently IIS Express has reserved port range of 44300 - 44399 for simulating SSL)

Change to port 44300 (https://localhost:44300/)

查看更多
甜甜的少女心
6楼-- · 2019-03-10 19:45

In my case on a previous run the IIS Express added a certificate (called localhost) to the Personal > Certificates folder. But I was getting an invalid certificate error in the application. So I moved the localhost certificate to the Trusted Root...> Certificates and everything started to work.

The next day when I run the same application I started to get this ERR_CONNECTION_RESET error. All I had to do is to move the localhost certificate out of the Trusted Root...> Certificates folder and back to the Personal > Certificates folder. enter image description here

In case the "localhost" certificate is missing in either of the folders then you have to repair/reinstall IIS Express from Control Panel > Add/Remove Programs. This will reinstate the localhost certificate.

Visual Studio 2015, IIS Express, Windows 8, Asp.net MVC

查看更多
迷人小祖宗
7楼-- · 2019-03-10 19:52

Got solution from this post. Had to delete all localhost certificates and repair IIS Express. Thanks @ShaTin

https://stackoverflow.com/a/22818853/853295

Make sure to remove any previous 'localhost' certificates as those could conflict with the one generated by IIS Express. I had this same error (ERR_SSL_PROTOCOL_ERROR), and it took me many hours to finally figure it out after trying out many many "solutions". My mistake was that I had created my own 'localhost' certificate and there were two of them. I had to delete both and have IIS Express recreate it.

Here is how you can check for and remove 'localhost' certificate:

On Start, type -> mmc.exe, File -> Add/Remove Snap-in..., Select Certificates -> Add> -> Computer account -> Local computer, Check under Certificates > Personal > Certificates. Make sure the localhost certificate that exist has a friendly name "IIS Express Development Certificate". If not, delete it. Or if multiple, delete all. On Visual Studio, select project and under property tab, enable SSL=true. Save, Build and Run. IIS Express will generate a new 'localhost' certificate.

Note: If it doesn't work, try these: make sure to disable IIS Express on VS project and stopping all running app on it prior to removing 'localhost' certificate. Also, you can go to 'control panel > programs' and Repair IIS Express.

查看更多
登录 后发表回答