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

Я пытаюсь разместить статический веб-сайт в хранилище Azure с персональным доменом и HTTPS.

Я создал учетную запись хранения, загрузил свои файлы и включил статический хостинг сайта. Сайт прекрасно работает из домена .web.core.windows.net , предоставленного Azure.

Я создал конечную точку CDN для сайта с исходным именем хоста, установленным на предоставленную первичную конечную точку. от Azure, добавил собственный домен для моего поддомена www , подготовил для него сертификат, управляемый CDN, и добавил правило для перенаправления запросов без HTTPS на https: // www. .com . Это тоже хорошо работает.

Теперь я хочу, чтобы мой верхний домен перенаправлял на мой субдомен 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?

1
задан 14 February 2020 в 18:00
3 ответа

Вы можете автоматизировать сертификаты для апекса с помощью Let's Encrypt, что немного упростит обработку части сертификата.

Помимо этого, вам в основном нужно разместить где-нибудь 301 редирект, который использует HTTP и HTTPS, чтобы заставить это работать. Боюсь, никакого ярлыка нет, особенно если вы собираетесь использовать HSTS. Есть некоторые поставщики DNS, которые фактически поддерживают CNAME на вершине, но я бы немного не решился попробовать их.

1
ответ дан 25 February 2020 в 23:33

Edit: Извините, я неправильно прочитал вопрос. Я также хотел избежать накладных расходов на управление сертификатом, но не нашел выхода. Фактически вы можете купить сертификаты 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 для домена корневого уровня.

0
ответ дан 4 May 2020 в 02:26

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

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

0
ответ дан 4 May 2020 в 04:54

Теги

Похожие вопросы