![](/img/trans.png)
[英]Swagger for Azure Service Fabric Stateless Web API application
[英]Stateless Web Api on Azure Service Fabric over https
所以我在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記錄指向( 更多關於Azure中的公共IP )。 然后從您最喜歡的CA購買該域名的證書。
獲得證書后,是的,您將把它存儲在密鑰保管庫中(確保在創建密鑰保管庫時設置-EnabledForDeployment !)並將其放在群集ARM模板中( 以便在節點上安裝它 )。
要使用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應用程序網關 。 然后它將處理HTTPS方面並將HTTP與群集通信
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.