Как сделать 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
  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, мне нужен был бы мой собственный сервер, на котором я сам устанавливал бы сертификаты.

2
задан 9 January 2020 в 02:09
2 ответа

Вы можете перенаправить запрос в незащищенный домен на безопасный домен без проблем. Вы сделаете это на уровне сервера в файле 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

0
ответ дан 9 January 2020 в 21:56

Концептуально http и https перенаправления идентичны. В каждом случае они настроены одинаково. Typiy, что подразумевает, что браузер заходит на старый сайт и получает ответ серии "300" вместе с новым URL.

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

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

В техническом POV нет такой вещи, как переадресация домена. В большинстве случаев это конструкция, в которой переписываются все URL, обслуживаемые "catchall" virtualhist'ом, который определяет доменное имя. Это не очень хорошо работает для https, потому что серверу catchall понадобятся https-сертификаты, чтобы не допустить ошибки

.
0
ответ дан 9 January 2020 в 21:56

Теги

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