簡體   English   中英

基於https的Azure Service Fabric上的無狀態Web Api

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM