w00*_*977 5 .net c# ssl visual-studio
我在Visual Studio中启用了SSL,如下所示:
我也设置如下:
当我通过IE访问网站(通过Visual Studio调试)时,我看到:
当我通过Firefox(通过Visual Studio调试)访问网站时,我看到:
在Firefox或IE中无法进入网站.我整天都在努力去理解什么是错的.我究竟做错了什么?
小智 15
假设您有一个.NET MVC或Web API项目,并且您希望在SSL上运行它.换句话说,您希望在类似于https:// localhost:xxxx的URL上启动项目.第一步很简单.您只需在解决方案中选择MVC/Web API项目名称,然后在属性窗口中找到名为"SSL Enabled"的属性:
相同的属性窗口还将显示应用程序的HTTPS URL.在上面的示例中,它是https:// localhost:44300 /.复制该URL并转到项目属性窗口.找到Web选项卡并使用https地址覆盖Project Url属性:
启动应用程序.您可能会在浏览器中收到一条消息,指出本地主机地址不受信任,您可以自担风险继续访问该网站.以下是瑞典语中的Chrome示例:
问题是Visual Studio自动安装的证书不受信任.您可以在证书管理单元中的计算机级证书的"个人"文件夹中找到证书:
如果您双击证书,您将看到它不受信任:
该消息还提供了解决方案:必须将证书导入受信任的根证书颁发机构文件夹.您将在"个人"下方的同一管理单元中看到该文件夹.那我们怎么做呢?右键单击证书,然后从上下文菜单中选择"所有任务","导出...".在证书导出向导上单击"下一步".保持"不导出私钥"选项不变,单击"下一步".接受下一个屏幕上的默认值,即"DER编码二进制X.509"应保持选中状态,然后单击"下一步".然后,您需要为导出的文件提供名称和位置.将其命名为"localhost"并将其保存在您可以轻松找到它的位置.单击"下一步"和"完成" 应该有一条弹出消息说导出成功.接下来,右键单击名为"受信任的根证书颁发机构"的文件夹,然后从上下文菜单中选择"所有任务,导入...".保持证书导入向导中的"本地计算机"选项不变,单击"下一步".浏览到之前保存的证书.单击"下一步"并接受沿途的所有默认值,直到到达向导结束.应该有一条消息说导入成功.如果您现在返回个人存储并双击localhost证书,那么您应该看到它是可信的:
好的,让我们再次启动.NET Web项目,打开页面应该打开而不会发出任何警告.如果你仍然看到相同的问题,那么测试一个全新的浏览器会话,例如在IE中:
您还可以从浏览器窗口中查看提取的证书.这是IE的一个例子:
小智 5
我在使用SSL时不时看到这个EXACT问题,并且发现(特别是在团队环境中处理他人项目时)Visual Studio项目Web设置(SSL端口)有时会混乱。这是我要修复它们的方法:
这总是为我解决问题。
小智 5
@MattW 我正在使用 Mac,并且遇到了这个问题。我在 macOS Catalina 上使用 Visual Studio 2019 for Mac。我打开了项目的“项目选项”,并将 ASP.NET Core 的默认运行配置下的“应用程序 URL”中的“HTTP”更改为“HTTPS”
我已经有本地主机的自签名证书,因此 Visual Studio 给了我一个消息框,要求我使用钥匙串中的开发证书。它询问我的密码并使用了证书。该应用程序在“HTTPS”上运行没有任何问题
如果您没有开发证书,您可以在 Mac 中使用以下命令生成一个:
dotnet dev-certs https --clean
dotnet dev-certs https --trust
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21007 次 |
| 最近记录: |