从自定义域使用反向代理和 SSL 访问 Service Fabric
Accessing Service Fabric with reverse proxy and SSL from custom domain
通过关注许多 docs/tutorials 我在我的 SF 中使用内核和反向代理实现了 SSL。
我成功了,但接入点 Url 如下:https://mycluster.westeurope.cloudapp.azure.com:19081
在我实施 https 之前,我有一个 CNAME mycustomdomain.com 重定向到 mycluster.westeurope.cloudapp.azure.com,它工作正常。
所以现在,我想知道是否有办法调用 http://mycustomdomain.com
并访问实际的 Uri。例如,有什么方法可以通过 probes/lbrules 实现吗?或者我是否必须实施应用程序网关或使用 API 管理或其他方式?
编辑:LBRules+Probes
AppPortProbe : 44338 (backend ssl port in the SF)
FabricGatewayProbe : 19000
FabricHttpGatewayProbe : 19080
SFReverseProxyProbe : 19081
[Rule : Probe]
[AppPortLBRule (TCP/80 to TCP/19081) : 19081]
[LBHttpRule (TCP/19080) : 19080]
[LBRule (TCP/19000) : 19000]
[LBSFReverseProxyRule (TCP/19081 to TCP/44338) : 44338]
你的问题太笼统了,问题太多可能会带来很多答案,我会尝试用几个选项来回答:
在您的情况下,要访问相同的 url,您应该改用 https://mycustomdomain.com:19081
。
这里的问题是,当您设置集群时,集群使用的证书仅对域有效 'mycluster.westeurope.cloudapp.azure.com' 在您的情况下,您的域在 SF 使用的证书中无效,它将一旦你向它提出任何请求就会失败。
您可以跳过浏览器上的证书验证错误并继续。在您的应用程序中,您也可以这样做,问题是这样做不是一种友好的方式。
为了能够在没有任何冲突的情况下使用域,您必须注册为您拥有的域创建的自己的证书。
因为您使用的是反向代理,所以您还必须在集群配置中定义证书,查找:reverseProxyCertificate
in this link
使用 SSL 部署应用程序会发生类似的事情,但在您的应用程序中,您可以定义要在启动时使用的证书,在集群中,您必须在集群配置中定义它。
您可以在此处找到更多信息:
Manage service fabric cluster security certificates
如果问题出在端口上,您有两个选择:
在负载均衡器中创建一个'Port forwarding'规则,转发任何
在端口 80 中请求到端口 19081。您可以找到 here 如何使用 powershell 做到这一点。
更新cluster/service配置监听端口
80 而不是 19081。check it here
转到 godaddy 或您使用的任何域名提供商,然后将转移添加到您的 azure 域:https://mycluster.westeurope.cloudapp.azure.com
通过关注许多 docs/tutorials 我在我的 SF 中使用内核和反向代理实现了 SSL。 我成功了,但接入点 Url 如下:https://mycluster.westeurope.cloudapp.azure.com:19081 在我实施 https 之前,我有一个 CNAME mycustomdomain.com 重定向到 mycluster.westeurope.cloudapp.azure.com,它工作正常。 所以现在,我想知道是否有办法调用 http://mycustomdomain.com 并访问实际的 Uri。例如,有什么方法可以通过 probes/lbrules 实现吗?或者我是否必须实施应用程序网关或使用 API 管理或其他方式?
编辑:LBRules+Probes
AppPortProbe : 44338 (backend ssl port in the SF)
FabricGatewayProbe : 19000
FabricHttpGatewayProbe : 19080
SFReverseProxyProbe : 19081
[Rule : Probe]
[AppPortLBRule (TCP/80 to TCP/19081) : 19081]
[LBHttpRule (TCP/19080) : 19080]
[LBRule (TCP/19000) : 19000]
[LBSFReverseProxyRule (TCP/19081 to TCP/44338) : 44338]
你的问题太笼统了,问题太多可能会带来很多答案,我会尝试用几个选项来回答:
在您的情况下,要访问相同的 url,您应该改用 https://mycustomdomain.com:19081
。
这里的问题是,当您设置集群时,集群使用的证书仅对域有效 'mycluster.westeurope.cloudapp.azure.com' 在您的情况下,您的域在 SF 使用的证书中无效,它将一旦你向它提出任何请求就会失败。
您可以跳过浏览器上的证书验证错误并继续。在您的应用程序中,您也可以这样做,问题是这样做不是一种友好的方式。
为了能够在没有任何冲突的情况下使用域,您必须注册为您拥有的域创建的自己的证书。
因为您使用的是反向代理,所以您还必须在集群配置中定义证书,查找:reverseProxyCertificate
in this link
使用 SSL 部署应用程序会发生类似的事情,但在您的应用程序中,您可以定义要在启动时使用的证书,在集群中,您必须在集群配置中定义它。
您可以在此处找到更多信息: Manage service fabric cluster security certificates
如果问题出在端口上,您有两个选择:
在负载均衡器中创建一个'Port forwarding'规则,转发任何 在端口 80 中请求到端口 19081。您可以找到 here 如何使用 powershell 做到这一点。
更新cluster/service配置监听端口 80 而不是 19081。check it here
转到 godaddy 或您使用的任何域名提供商,然后将转移添加到您的 azure 域:https://mycluster.westeurope.cloudapp.azure.com