我尝试以自托管模式启动 nancyfx 网络服务器。
执行以下代码时一切正常:
public static void Main(string[] args)
{
var hostConfig = new HostConfiguration
{
UrlReservations = new UrlReservations
{
CreateAutomatically = true
},
};
var host = new NancyHost(hostConfig, new Uri("http://localhost:8081"));
host.Start();
Console.ReadLine();
host.Stop();
}
但是,当我将 uri 更改为https://...
服务器启动,但浏览器打开的每个连接都会立即关闭,并且浏览器显示“该网站不可用”。连接甚至在浏览器因超时而关闭连接之前就关闭了。
我正在 Windows 上使用 .NET 4.5 运行该应用程序。使用 netstat -a 我可以知道正确的端口已打开。
我错过了什么吗?
感谢您的帮助。
我已经成功了。我发现在此过程中进行多次检查很有用。
CHECK1 - 证书添加是否正确? (正确使用证书管理 MMC 管理单元):
- 在机器上安装证书后运行
certutil -store MY
- 您应该在那里看到证书详细信息(sha/用户创建/名称等)
- 如果不停止。您可能导入到用户存储中(或者证书无效)。您必须从空 mmc 开始并导入机器的证书。
CHECK2 - url 是否正确添加到 netsh 中的 urlacl 列表中? (使用netsh http add urlacl
)?:
- 将 uri 添加到 acl 后运行
netsh http show urlacl
- 如果您的 uri / 端口未列出,请停止。网址未正确添加。
CHECK3 - ssl 是否绑定到 urlacl? (使用netsh http add sslcert
)
- 运行 add sslcert 命令后运行
netsh http show sslcert
- 如果您的端口/sha 组合未列出,请检查 sha 没有空格/appid 是否唯一/app id + 大括号括在引号中(如果从 PS 执行)
希望能帮助到你。我在 6 个小时的努力之后创建了上面的内容。现在可以了!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)