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

CNAME перенаправление на внешний https url

У меня как-то конкретная настройка. Это действительно связано с некоторыми ограничениями, которые я не могу обойти: есть домены 1 и 2, которые принадлежат мне, и внешний URL, который мне не принадлежит:

  1. start.com
  2. root.com
  3. http://target.com/my/site?a=1

Моя цель - перенаправить http://sub.start.comhttps: // ...) к http://target.com/my/site?a=1. Теперь об ограничениях:

Как достичь своей цели? Вот что я настроил до сих пор:

Что работает, так это редирект http://sub.root.com к http://target.com/my/site?a=1. Что не работает:

  1. Перенаправление с https://sub.root.com к http://target.com/my/site?a=1 Возвращает сообщение о "небезопасном соединении" в firefox. Это потому, что sub.root.com (пока) не включен в сертификат SSL. Я могу понять эту проблему. Легко исправить.
  2. Однако я не могу понять, что перенаправление с http://sub.start.com не работает. Это перенаправляет меня на https://sub.start.com а затем жалуется, что сертификат на root.com не включает sub.start.com. Почему это? Я ожидал, что запись CNAME «проигнорирует» сервер start.com. Запрос должен идти прямо на root.com, не так ли?

Кроме того, есть ли способ достичь моей цели с помощью этой точной настройки? Я думаю включить sub.start.com, а также sub.root.com в свой SSL-сертификат на root.com. Решит ли это все проблемы?

Я ожидал, что запись CNAME «проигнорирует» сервер start.com. Запрос должен идти прямо на root.com, не так ли?

Ложное ожидание, которое обсуждается здесь снова и снова: перенаправление выполняется по протоколу HTTP. После разрешения с помощью CNAME и A DNS записывает, что запрос направляется напрямую на IP-адрес, не зная, что произошло на уровне DNS. CNAME не будет выполнять перенаправление HTTP.

Затем запрос содержит исходное имя хоста в адресной строке как HTTP 1.1. Host заголовок

GET / HTTP/1.1
Host: sub.start.com

и веб-сервер отвечает содержимым, настроенным для этого виртуального хоста. Это имя хоста и это имя хоста также используются, когда браузер сравнивает адрес с сертификатом SSL. Это сравнение выполняется перед отправкой заголовков и до того, как вообще произойдет какое-либо перенаправление.

Настройка всех других имен хостов как перенаправления на каноническое имя хоста в конфигурации вашего веб-сервера решает проблему перенаправления. Имея все имена хостов как альтернативные имена субъектов в вашем сертификате решает сообщения об ошибках, которые получают ваши пользователи.