SSL连接/使用IISExpress时连接重置

189

我第一次使用新版的Visual Studio 2013和IISExpress(之前在VS2010上使用ASP.net开发服务器)。我在调试项目时遇到了问题。

这是我在Chrome浏览器中看到的错误信息:

无法与服务器建立安全连接。这可能是服务器出现了问题,也可能是服务器要求客户端认证证书,而你没有该证书。 错误代码:ERR_SSL_PROTOCOL_ERROR

我更新了我的Properies->web文件,使项目URL现在使用一个https URL。但是,在进行更改后,我在启动时遇到了新的错误:

连接到本地主机被中断。 错误代码:ERR_CONNECTION_RESET

谢谢


查看我对类似问题的答案: https://dev59.com/5Yfca4cB1Zd3GeqPhVNg#29848227 - Bogac
3
在此发布是因为以下答案可能很容易被忽略。如果已接受的答案对您无效,请尝试使用此链接:https://dev59.com/4mIj5IYBdhLWcg3wpWlx - IWriteApps
更改端口号,对我有效。 - torun
我学会了在尝试被投票最多的答案之前先尝试被接受的答案,哈哈;如果我尝试了这个顺序 - 我就可以节省一些时间,而不是在这个神奇的计算机科学问题上浪费几个小时。无论如何,感谢你提出这个问题! - gawkface
27个回答

1

在我的情况下,经过三天的尝试后,只需以“管理员身份运行”Visual Studio即可解决问题。


1

关于在44300和44399之间设置SSL端口的其他答案,我无法在Visual Studio中更改SSL启用属性,也无法设置特定的SSL URL。像修复IIS Express这样的其他答案没有帮助。解决方案是进入与sln文件平行的.vs文件夹,打开config子文件夹,然后编辑applicationhost.config文件。然后,我手动添加了https行并重新启动了VS。

<binding protocol="http" bindingInformation="*:24941:localhost" />
                <binding protocol="https" bindingInformation="*:44301:localhost" />

还需要在项目的<projectname>.csproj.user文件中更改端口,因为Visual Studio会在启动时从该文件恢复绑定到applicationhost.config,至少在VS2022中是这样。所以你更改了applicationhost.config,它可以工作,第二天它就不行了,你再次更改,如此往复。 - undefined

0
在我的情况下,当我在调试时,本地主机URL被重定向到https://localhost。这是在一瞬间发生的,没有任何更改。我通过对浏览器进行硬刷新来解决了这个问题。这里是链接

0

我曾经遇到过类似的问题,我的应用程序的Swagger(运行在SSL端口44319上)突然停止工作,并出现了ERR_CONNECTION_RESET错误。

经过一番调查,我发现端口44319已从允许SSL连接的端口列表中删除 - 使用此命令netsh http show sslcert > sslcert.txt找到。 然后,我需要使用netsh http add sslcert ipport=0.0.0.0:44319 certhash=YOUR_CERT_HASH appid={YOUR_APP_ID}将端口44319重新添加到SSL允许端口中。 要找到certhashappid,您可以使用第一个命令的输出。这对我有用!

enter image description here


0
我刚刚重建了我的电脑。这个线程给了我线索,在项目设置>Web中,我意识到该项目配置为使用HTTP和HTTP端口。通过将其更新为HTTPS和正确的HTTPS端口,一切都重新开始工作了。

0
在我的情况下,我简单地忘记了我已经在完整的IIS中设置了一个绑定(在我的情况下是https://localhost:44300)。你不能两者都有!

只要它们不同时运行,你可以拥有两者。 - trnelson

0

控制面板>程序>修复IIS Express刚刚解决了我在VS2022上的这个问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接