C# 使用服务结构的Owin基于主机名的站点
我在使用ServiceFabric和OWIN在不同的子域上托管多个网站时遇到问题 假设我的服务结构云上有四台HTTP(s)服务器。它们都在不同的端口上运行。因此,在初始化的某个时刻,它们将分别调用:C# 使用服务结构的Owin基于主机名的站点,c#,azure,owin,azure-service-fabric,self-hosting,C#,Azure,Owin,Azure Service Fabric,Self Hosting,我在使用ServiceFabric和OWIN在不同的子域上托管多个网站时遇到问题 假设我的服务结构云上有四台HTTP(s)服务器。它们都在不同的端口上运行。因此,在初始化的某个时刻,它们将分别调用: Microsoft.Owin.Hosting.WebApp.Start(“http://+:80/”,UnsecureStartup) Microsoft.Owin.Hosting.WebApp.Start(“https://+:443/”,MainStartup) Microsoft.Owin.H
Microsoft.Owin.Hosting.WebApp.Start(“http://+:80/”,UnsecureStartup)代码>
Microsoft.Owin.Hosting.WebApp.Start(“https://+:443/”,MainStartup)代码>
Microsoft.Owin.Hosting.WebApp.Start(“https://+:4431/”,ApiStartup)代码>
Microsoft.Owin.Hosting.WebApp.Start(“https://+:4432/”,额外启动)代码>
ServiceManifest.xml
设置的相同证书
我们一直计划使用子域而不是不同的端口。现在我们有了自己的域名,我们正努力做到以下几点:
Microsoft.Owin.Hosting.WebApp.Start(“http://example.com:80/“,未经批准的启动)代码>
Microsoft.Owin.Hosting.WebApp.Start(“https://example.com:443/",中流砥柱",代码>
Microsoft.Owin.Hosting.WebApp.Start(“https://api.example.com:443/",代码>
Microsoft.Owin.Hosting.WebApp.Start(“https://extras.example.com:443/“,额外启动)代码>
非常感谢您提供的任何帮助。据我所知,主机名与SF不太兼容。 在我看来,您有以下选项: 1) 您在内部服务上使用不同的端口,并在SF集群前面放置一个WAF,让该WAF处理SSL卸载、URL路由和内部端口的本地。这样,您将只需要1个公共IP 2) 您可以添加更多的公共IP,并让您的公共负载平衡来处理它。你需要3个IP地址,但是因为前5个IP在azure中是免费的,所以这不会花费你任何额外的费用
您可能希望使用选项1,因为它可以让您更轻松地管理证书、更好的安全性和更大的灵活性,但代价是美元。谢谢您的解决方案。我仍然对主机名问题感到困惑。它发生在SSL和不安全的HTTP中,所以SSL不是这里的问题。你看过这个答案了吗@它确实解决了HTTP的问题,但没有解决HTTPS的问题,这是我的一个要求。无论如何,谢谢你。