Я пытаюсь разместить статический веб-сайт в хранилище Azure с личным доменом и HTTPS.
Я создал учетную запись хранения, загрузил свои файлы и включил статический хостинг сайтов. Сайт прекрасно работает с <foo>.web.core.windows.net
домен, предоставленный Azure.
Я создал конечную точку CDN для сайта с исходным именем хоста, установленным на основную конечную точку, предоставленную Azure, добавил собственный домен для своего www
поддомен, подготовил для него сертификат, управляемый CDN, и добавил правило для перенаправления запросов без HTTPS на https://www.<my-domain>.com
. Это тоже хорошо работает.
Теперь я хочу, чтобы мой домен вершины перенаправлялся на мой www
поддомен.
CNAME не вариант, но я добавил псевдоним A
запись для @
указывая на мою конечную точку CDN, и добавил домен вершины в качестве пользовательского домена в CDN.
Запросы к http://<my-domain>.com
перенаправить красиво, но запросы на https://<my-domain>.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 на вершине, но я бы немного не решился попробовать их.
Изменить: извините, я неправильно прочитал вопрос. Я также хотел избежать накладных расходов на управление сертификатом, но я не нашел выхода. Фактически вы можете купить сертификаты SSL в Azure, которые фактически предоставляются GoDaddy. Интересно, может ли это продлеваться автоматически.
В итоге я купил супер дешевый четырехлетний сертификат на ssls.com, сохранил его в Azure Vault и получил свой Azure CDN, чтобы использовать его для моего домена вершины (который настроен в Azure DNS с помощью следующих шагов). Мой CDN перенаправляет запросы с верхнего домена на субдомен www.
Теперь вы можете сделать это с помощью псевдонимов.
Затем добавьте имя своего хоста (example.com) в конечную точку CDN.
Вам нужно будет использовать собственный SSL в CDN для домена корневого уровня.
Нет, вы не можете получать запросы HTTPS, если у вас нет соответствующего сертификата SSL.
Перенаправление происходит потом.