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

Как делать HTTPS-перенаправления

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

Допустим, у меня есть домен с несколькими TLD: example.ca, example.net и example.com. Я хочу, чтобы мой сайт обслуживался с https://example.com только .ca и .net должны быть перенаправлены как через http, так и через https.

http(s)://example.ca -> https://example.com
http(s)://example.net -> https://example.com
http://example.com -> https://example.com
  1. Для https://example.ca/.net -> https://example.com перенаправление для работы, нужен ли мне сертификат SSL для каждого из example.ca, example.net и example.com, даже если .ca и .net предназначены только для переадресации и на них ничего не размещается? Может ли сертификат UCC / SAN SSL охватывать все 3 домена?

  2. Из того, что я прочитал, самый простой способ сделать это: получить простой план общего хостинга, установить сертификат UCC SSL и обновить конфигурацию веб-сервера, чтобы весь трафик HTTP и HTTPS перенаправлялся на https://example.com. Это правильно?

Я видел, как некоторые регистраторы DNS, такие как GoDaddy, предлагали «переадресацию домена», но из того, что я читал, это только по http. Чтобы перенаправить https работало, мне понадобится мой собственный сервер, на котором я сам установил бы сертификаты.

РЕДАКТИРОВАТЬ: Я еще не уверен, что могу дать ответ, так как все еще есть некоторая путаница относительно того, нужны ли мне сертификаты для всех доменов. @Xzenor и @davidgo говорят, что мне нужен сертификат для каждого, но @LTPCGO говорит, что мне нужен только один для последнего домена (но подстановочный знак для включения поддоменов).

Концептуально перенаправления http и https идентичны. В каждом случае они настраиваются аналогично. Типичный пример, когда браузер обращается к старому сайту и получает ответ серии «300» вместе с новым URL.

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

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

С технической точки зрения переадресации домена не существует. В большинстве случаев это конструкция, в которой все URL-адреса перезаписываются и обслуживаются «универсальным» виртуальным хранилищем, который определяет имя домена. Это не работает для https, потому что серверу общего доступа потребуются сертификаты https, чтобы не ошибаться.

Вы можете без проблем перенаправить выборку из небезопасного домена на безопасный. Вы должны сделать это на уровне сервера в вашем файле hosts с помощью перенаправления, чтобы весь контент обслуживался из example.com. Вам понадобится сертификат SSL для этого последнего домена, example.com, либо с подстановочным знаком (* .example.com), либо для определенных поддоменов.

На сервере, на котором размещен example.com, вам нужно будет перенаправить весь трафик на HTTPS, который зависит от вашего сервера. Для Apache вы можете использовать что-то вроде следующего:

NameVirtualHost *:80
<VirtualHost *:80>
   ServerName www.yourdomain.com
   Redirect / https://www.yourdomain.com
</VirtualHost>

<VirtualHost _default_:443>
   ServerName www.yourdomain.com
   DocumentRoot /usr/local/apache2/htdocs
   SSLEngine On
# etc...
</VirtualHost>

Когда все заработает, вы должны посмотреть на реализацию HSTS