Назад | Перейти на главную страницу

Перенаправлять HTTPS-запросы верхнего домена без ручной подготовки сертификата

Я пытаюсь разместить статический веб-сайт в хранилище 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.

Теперь вы можете сделать это с помощью псевдонимов.

  1. Перейти в зону DNS
  2. Добавить набор записей
  3. Оставьте имя пустым
  4. Выберите тип A
  5. Выберите «Да» для типа записи псевдонима.
  6. Выберите конечную точку CDN из раскрывающегося списка ресурсов.

Затем добавьте имя своего хоста (example.com) в конечную точку CDN.

Вам нужно будет использовать собственный SSL в CDN для домена корневого уровня.

Нет, вы не можете получать запросы HTTPS, если у вас нет соответствующего сертификата SSL.

Перенаправление происходит потом.