Я пытаюсь разместить статический веб-сайт в хранилище Azure с персональным доменом и HTTPS.
Я создал учетную запись хранения, загрузил свои файлы и включил статический хостинг сайта. Сайт прекрасно работает из домена
, предоставленного Azure.
Я создал конечную точку CDN для сайта с исходным именем хоста, установленным на предоставленную первичную конечную точку. от Azure, добавил собственный домен для моего поддомена www
, подготовил для него сертификат, управляемый CDN, и добавил правило для перенаправления запросов без HTTPS на https: // www.
. Это тоже хорошо работает.
Теперь я хочу, чтобы мой верхний домен перенаправлял на мой субдомен www
.
CNAME не являются вариантом , но я добавил псевдоним A
запись для @
, указывающая на мою конечную точку CDN, и добавление домена вершины в качестве личного домена в CDN.
Запросы к http: // <мой-домен> .com
перенаправляет красиво, но запросы к https: // <мой-домен> .com
по понятным причинам дают страшную ошибку SSL_ERROR_BAD_CERT_DOMAIN
. Azure не поддерживает сертификат, управляемый CDN, для верхних доменов. :
Сертификаты, управляемые CDN, недоступны для корневых и верхних доменов. Если ваш личный домен Azure CDN является корневым или верхним доменом, вы должны использовать функцию «Принесите свой собственный сертификат».
Я не хочу размещать что-либо в моем верхнем домене - я просто хочу перенаправить его на свой ] www
субдомен. Ручная подготовка (и обслуживание) сертификата кажется слишком затратной.
Регистратор домена, GoDaddy, имеет функцию «пересылки», которая делает то, что я хочу, но я предпочитаю размещать свой DNS в Azure.
Есть ли способ перенаправить HTTPS-запросы домена вершины на мой субдомен www
без ручной подготовки сертификата для моего домена вершины или перемещения моего DNS из Azure?
Вы можете автоматизировать сертификаты для апекса с помощью Let's Encrypt, что немного упростит обработку части сертификата.
Помимо этого, вам в основном нужно разместить где-нибудь 301 редирект, который использует HTTP и HTTPS, чтобы заставить это работать. Боюсь, никакого ярлыка нет, особенно если вы собираетесь использовать HSTS. Есть некоторые поставщики DNS, которые фактически поддерживают CNAME на вершине, но я бы немного не решился попробовать их.
Edit: Извините, я неправильно прочитал вопрос. Я также хотел избежать накладных расходов на управление сертификатом, но не нашел выхода. Фактически вы можете купить сертификаты SSL в Azure, которые фактически предоставляются GoDaddy. Интересно, может ли это продлеваться автоматически.
В итоге я купил супер дешевый четырехлетний сертификат на ssls.com, сохранил его в Azure Vault и получил свой Azure CDN, чтобы использовать его для моего верхнего домена (который настроен в Azure DNS с помощью следующих шагов). Мой CDN перенаправляет запросы с верхнего домена на субдомен www.
Теперь вы можете сделать это с помощью псевдонимов.
Затем добавьте имя вашего хоста (example.com) в конечную точку CDN.
Вам нужно будет использовать собственный SSL в CDN для домена корневого уровня.