基于https的Azure Service Fabric上的无状态Web Api

前端之家收集整理的这篇文章主要介绍了基于https的Azure Service Fabric上的无状态Web Api前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
所以我在Azure Service Fabric上托管了一个Web Api,我想通过https公开它.

第一个问题:Microsoft提供的* .cloudapp.azure.com的默认证书是否与App Service类似?

如果没有,我如何拥有一个我不拥有的域的有效证书(由知名CA颁发)?

如果它在某种程度上可能,我想我需要将此证书上传到Azure Vault并在服务清单中引用其指纹对吗?

我是否应该使用相同的证书来保护集群并公开SSL端点?

谢谢!

解决方法

* .cloudapp.azure.com没有通配符证书,就像* .azurewebsites.net一样.对于SSL,您必须注册自己的域并将其CNAME到您的群集域(例如,mycluster.westus.cloudapp.azure.com),或者为您的负载均衡器VIP获取静态公共IP并将您的A记录指向那( more on public IPs in Azure here).然后从您最喜欢的CA购买该域名的证书.

获得证书后,是的,您将把它存储在密钥保管库中(确保在创建密钥保管库时设置-EnabledForDeployment!)并将其放入群集ARM模板(to get it installed on your nodes).

要使用HTTPS,首先在ApplicationManifest.xml中设置证书引用:

<Certificates>
   <EndpointCertificate X509FindValue="<Your Certificate Thumbprint>" Name="Cert1" />
</Certificates>

然后在Application Manifest的ServiceManifestImport部分中设置EndpointBindindPolicy:

<ServiceManifestImport>
...
   <Policies>
      <EndpointBindingPolicy EndpointRef="ServiceEndpoint" CertificateRef="Cert1" />
   </Policies>
</ServiceManifestImport>

最后,在ServiceManifest.xml中引用Endpoint配置中的cert:

<Endpoints>
  <Endpoint Name="ServiceEndpoint" Type="Input" Protocol="https" Port="443" CertificateRef="Cert1"/>
</Endpoints>

您可以使用相同的证书来保护您的群集并向用户提供SSL,但我建议您使用不同的证书,这样您就不会将服务器证书分发给客户端以进行群集身份验证.

编辑:也可以使用支持SSL卸载的Azure Application Gateway.然后它将处理HTTPS方面并将HTTP与群集通信

猜你在找的HTML相关文章