有人可以解释为什么在构建 Web 应用程序时设置 HTTPS URL 会覆盖 HTTP 设置吗?
我有以下代码,效果很好:
var webApplication = WebApplication.CreateBuilder().Build();
webApplication.Urls.Add("http://*:5002");
webApplication.RunAsync();
当我使用 Postman 进行通信时,我可以轻松找到端口 5002 上的 Web 应用程序。
但是当我添加 HTTPS 端口时:
var webApplication = WebApplication.CreateBuilder().Build();
webApplication.Urls.Add("http://*:5002");
webApplication.Urls.Add("https://*:500");
webApplication.RunAsync();
应用程序停止监听5002端口并主动拒绝连接。
我想我已经明白了。它可以在我的开发机器上运行,但不能在客户站点或原始机器上运行。交换 URL 声明的顺序根本没有改变任何事情。当我在原始计算机上获得开发系统后,很明显,如果没有受信任的“localhost”证书,SSL 就会失败。不仅如此,似乎一旦 SSL 证书验证失败,正常的 HTTP 流量也会失败。