gpt4 book ai didi

azure - Azure Service Fabric 上通过 https 的无状态 Web Api

转载 作者:行者123 更新时间:2023-12-04 06:33:47 24 4
gpt4 key购买 nike

因此,我有一个托管在 Azure Service Fabric 上的 Web Api,我想通过 https 公开它。

第一个问题:Microsoft 是否确实为 *.cloudapp.azure.com 提供了类似于应用服务的默认证书?

如果没有,我如何才能为我不拥有的域获得有效的证书(由知名 CA 颁发)?

如果有可能的话,我想我需要将此证书上传到 Azure Vault 并在服务 list 中引用其指纹,对吧?

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

谢谢!

最佳答案

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

一旦您拥有证书,您就可以将其存储在 Key Vault 中(请确保在创建 Key Vault 时设置 -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 的端点配置中引用证书:

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

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

编辑:还可以使用支持 SSL 卸载的 Azure Application Gateway。然后它将处理 HTTPS 方面并将 HTTP 传回集群

关于azure - Azure Service Fabric 上通过 https 的无状态 Web Api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36991658/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com