В настоящее время мы планируем предоставить решение SaaS с поддоменами, которое будет размещено в Azure как служба приложений. В настоящее время у нас есть следующее сопоставление CNAME в провайдере DNS, и оно отлично работает для всех поддоменов. Также сопоставил домен в службе приложений Azure.
CNAME * .contoso.com contoso.azurewebsites.net
Также мы планируем добавить поддержку использования собственных доменов клиента. Например, domain-a.com это домен клиента, и он будет указывать на domain1.contoso.com. Это нормально работает, если мы сделаем следующее вручную / автоматически.
domain-a.com -> domain1.contoso.com (Клиент добавит следующее сопоставление в свой DNS, а я добавлю этот домен в Службу приложений Azure)
У меня следующие вопросы.
Можно ли предоставить поддержку для этого, не добавляя домен клиента в Службу приложений Azure?
Чтобы служба приложений могла обслуживать запросы к домену вашего клиента, вам необходимо привязать имя личного домена к своей службе приложений. Либо указав запись A или CNAME в службу приложений. Если вы этого не сделаете, ничего не получится.
Однако если вы поместите Брандмауэр веб-приложений Azure или другой тип брандмауэра приложений перед вашей службой приложений, вам не нужно настраивать доменное имя в службе приложений. Но тогда вам все равно нужно настроить домены на брандмауэре, чтобы вам не уйти с настройкой доменов где-нибудь в вашей инфраструктуре Azure.
Как обеспечить поддержку SSL для домена клиента?
Я предполагаю, что ваши клиенты, которые, вероятно, владеют своим доменным именем, будут запрашивать сертификат у поставщика сертификатов. После того, как они его получат, они могут передать его вам. Или вы можете сделать это от имени клиента и предложить это своим клиентам в качестве услуги.
Как вариант, вы можете воспользоваться услугой Давайте зашифровать, который предлагает бесплатные сертификаты SSL. Но что еще более важно, процесс запроса, настройки и обновления этих сертификатов по большей части выполняется автоматически. Есть Расширение службы приложений Azure для Let's Encrypt что позволяет использовать Let's Encrypt. Я считаю, что это бета-версия. Но я его использовал и работает нормально. это В статье также подробно объясняется, что вам нужно сделать для настройки расширения.