在 Azure Web App 的 SaaS 解決方案中使用自定義域和 SSL
目前,我們計劃提供一個帶有子域的 SaaS 解決方案,這些子域將作為應用服務託管在 Azure 中。目前,我們在 DNS 提供程序中有以下 CNAME 映射,它適用於所有子域。還映射了 Azure 應用服務中的域。
CNAME *.contoso.com contoso.azurewebsites.net
此外,我們計劃添加對使用客戶自己的域的支持。例如,domain-a.com是客戶的域,它將指向domain1.contoso.com。如果我們手動/自動執行以下操作,這工作正常。
domain-a.com -> domain1.contoso.com(客戶將在其 DNS 中添加以下映射,我必須在 Azure 應用服務中添加此域)
我有以下問題。
- 是否可以為此提供支持,而無需在 Azure 應用服務中添加客戶的域?
- 如何為客戶的域提供 SSL 支持?
是否可以為此提供支持,而無需在 Azure 應用服務中添加客戶的域?
為了讓應用服務向客戶的域提供請求,您需要將自定義域名綁定到應用服務。通過將 A 或 CNAME 記錄指向您的應用服務。如果你不這樣做,它就是行不通的。
但是,如果您在應用服務前面放置了Azure Web 應用防火牆或其他類型的應用防火牆,則無需在應用服務上配置域名。但是您仍然需要在防火牆上配置域,因此您不會在 Azure 基礎結構中的某個位置配置域。
如何為客戶的域提供 SSL 支持?
我猜您的客戶(可能擁有自己的域名)會向證書提供商申請證書。他們拿到後就可以交給你了。或者您可以代表客戶執行此操作,並將其作為服務提供給您的客戶。
或者,您可以使用提供免費 SSL 證書的服務Let’s Encrypt 。但更重要的是,請求、配置和更新這些證書的過程大部分是自動完成的。Let’s Encrypt有一個Azure App Service 擴展,允許你使用 Let’s Encrypt。我相信它處於測試階段。但我已經使用它並且工作正常。本文還詳細說明了設置擴展程序所需的操作。