我有一个带有无状态服务的 Service Fabric,它遵循网关模式侦听 HTTP 请求,然后将它们转发到集群中的业务逻辑。这很好用。现在我正在尝试添加 HTTPS 支持。网关项目使用 ASP.NET Core 1.0(在 NET461 上),我使用的是 Service Fabric SDK 5.1.150、Visual Studio 2015 Update 3。如果我手动启动网关项目(设置为启动项目),那么我可以点击HTTPS 端点,但是当我通过集群运行它时,端口是打开的,但它会立即关闭,我得到“本地主机意外关闭了连接”。在铬。这是我的启动代码:
builder
.UseKestrel(options =>
{
options.NoDelay = true;
options.ThreadCount = 1024;
if (sslCert != null)
{
options.UseHttps(sslCert);
}
})
.UseUrls("http://*:5402", "https://*:5403")
.UseContentRoot(System.IO.Directory.GetCurrentDirectory())
.UseStartup<Startup>()
.Build()
.Run();
可能独特的是我正在尝试使用 Kestrel,但我已经使用了一个示例(除了示例没有执行 HTTPS)。sslCert 变量已设置,再次,如果我将此项目作为 VS 中的启动项目运行它,那么我可以处理 HTTPS 请求。
我已经在集群中配置了端点,但它似乎没有什么区别,如果我不使用它,我仍然可以点击 tcp 端口。有什么建议/样品吗?