IISExpress 找不到 ssl 页面 运行 localhost with Visual Studio 2013

IISExpress cannot find ssl page running localhost with Visual Studio 2013

当我以 http://localhost:26049, the site runs fine. If I try to access the site with https://localhost:44319 身份访问网站时,我找不到页面。

这是我的项目属性:

这是我的 IISExpress 应用程序配置:

<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>

IIS Express 似乎没有启动 https URL 下的项目。尝试将默认项目 URL 更改为

中的 SSL

"Web Project->Properties->Web->Project URL" 到 URL 使用 https。

从这个 post 得到了解决方案。必须删除所有本地主机证书并修复 IIS Express。谢谢@ShaTin

确保删除所有以前的 'localhost' 证书,因为这些证书可能与 IIS Express 生成的证书冲突。我遇到了同样的错误 (ERR_SSL_PROTOCOL_ERROR),在尝试了很多 "solutions" 之后,我花了很多时间才最终弄明白。我的错误是我创建了自己的 'localhost' 证书,并且有两个。我不得不删除两者并让 IIS Express 重新创建它。

检查和删除 'localhost' 证书的方法如下:

在“开始”中,键入 -> mmc.exe, 文件 -> Add/Remove 管理单元..., Select 证书 -> 添加> -> 计算机帐户 -> 本地计算机, 在“证书”>“个人”>“证书”下查看。 确保存在的本地主机证书具有友好名称 "IIS Express Development Certificate"。如果没有,请将其删除。或者,如果有多个,则全部删除。 在 Visual Studio、select 项目和 属性 选项卡下,启用 SSL=true。保存、构建和 运行。 IIS Express 将生成一个新的 'localhost' 证书。

注意:如果它不起作用,请尝试这些:确保在 VS 项目上禁用 IIS Express 并在删除 'localhost' 证书之前停止其上的所有 运行 应用程序。此外,您可以转到 'control panel > programs' 和修复 IIS Express。

我解决这个问题的步骤(我用的是vs2015)

1)转到控制面板

2)添加删除程序

3)修复IIS Express

4)重新启动我的电脑

4)接下来转到我的文档->IIS Express->配置文件

5)复制它们并从那里删除那些文件

6)删除所有项目C:\Temp

7) 检查你的 sln 文件中的 .vs 文件夹并转到其中的配置文件夹

8)也复制一份并删除其中的文件

9) 清理你的解决方案

10)重启Visual studio

11)构建和运行

(我从我同事的机器上复制了干净的配置文件 - 在上面提到的位置
1]在 Documents
2] .vs 文件夹中
我想只需 运行ning IISExpress,它就会为您重新创建文件。 exe 位于:"c:\Program Files\IIS Express\iisexpress.exe"。 )

在我的案例中,在之前的 运行 中,IIS Express 添加了一个证书(称为 localhost)到个人 > 证书文件夹。但是我在应用程序中收到无效证书错误。所以我将本地主机证书移动到受信任的根...> 证书,一切都开始工作了。

第二天,当我 运行 相同的应用程序时,我开始收到此 ERR_CONNECTION_RESET 错误。我所要做的就是将本地主机证书从 Trusted Root...> Certificates 文件夹中移出并移回 Personal > Certificates 文件夹。

如果任一文件夹中缺少 "localhost" 证书,则您必须从控制面板 > Add/Remove 程序中 repair/reinstall IIS Express。 这将恢复本地主机证书。

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

None 这些选项在 VS2017 中对我有用,但有同样的问题。这个使用带有自签名证书的 iisexpresscmdadmin 的解决方案让我的网站最终启动:

How do I fix a missing IIS Express SSL Certificate?

我在使用 Chrome 和 Edge 时遇到了这些 SSL 问题。

经过漫长的审查所有这些答案和建议的过程后,最终对我有用的(asp.net mvc 5、VS2015)是上述答案的混合

  1. 如上所示添加证书管理单元,删除多个证书并重新生成新证书:谢谢@garethb
  2. 那么问题就在于该证书的信任级别。以下 link 显示了导出然后导入(不仅仅是移动)本地证书的分步过程 https://blogs.msdn.microsoft.com/robert_mcmurray/2013/11/15/how-to-trust-the-iis-express-self-signed-certificate/

    1. 当关闭所有内容然后重建并部署到 IIS Express 时,我在任何浏览器中都不再出现 SSL 错误

拜托,为了 g*d 的爱,试试这个,在你陷入一些不必要的疯狂之前!

(显然 IIS Express 已保留端口范围 44300 - 44399 用于模拟 SSL )

我遇到了同样的问题。我的 HTTP 站点 运行 正常,但 IIS Express 无法启动我的 SSL 站点。虽然它是前一天做的。

我的问题是我弄乱了 aplicationhost.config 文件。我的项目被注册了两次:

<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>

从项目属性页面删除这两个条目并创建一个新的虚拟目录解决了我的问题。

Creating a new virtual directory from the properties page

使用 VS 2017,none 这些解决方案似乎有效,即使在导出证书并导入到 Chrome 之后也是如此。 在我做了两件事之后它终于奏效了: (1) 将 localhost 证书从 Personal 复制到 Trusted Root (2)将项目属性中的端口号从61899改为44300 我认为只执行步骤 (2) 就可以了。

尝试更改 IIS 中的绑定

这 link 解决了我长达 3 天的间歇性头痛问题: https://deanhume.com/set-up-iis-7-to-run-a-secure-site-locally-https/

以下是导致我发现真正问题的具体步骤:

Windows 键 > 管理工具 > Internet 信息服务 > 单击默认网站(或任何您的网站)> 绑定... > 清除本地主机的所有重复绑定 > 为端口 80 添加 https 绑定.

0

我最近遇到了一个与 VS 2019 和 IIS Epress 非常相似的问题。我试图将 http 更改为 https,以便我可以使用 ADFS。 https://i.stack.imgur.com/Kd34a.png

经过更多研究,我尝试将 'Require SSL' 属性 从 true 切换为 false,然后再切换回 true。这触发了对 applicationhost.config 文件 (... Vs\ProjectName\config\applicationhost.config) 的更新,该文件为 https 协议创建了一个新的 SSL 绑定和一个新的端口号。因此,我使用建议的新端口修改了所有链接(在项目的 Web 属性、配置文件和 ADFS 配置中)并且它有效。结论,对于同一个网站,http端口不一定要和https一样。

在我的情况下,只需从 Edge 切换到 Chrome 即可立即修复此问题(VS 2019 Pro / Windows 10 latest)