Как перенаправить с FR на COM при использовании HTTPS [дубликат]

На этот вопрос уже есть ответ здесь:

У меня два домена: my-domain.com и my-domain.fr

Я хочу перенаправить трафик следующим образом:

  • my-domain.com:80 -> my-domain.com:443
  • my-domain.fr:80 -> my-domain.com:443
  • my-domain.fr:443 -> my-domain.com:443

Я решил использовать только .com, я прав? Я думаю да. Потому что мне нужно управлять только одним сертификатом: сертификатом .COM.

Мой / etc / apache2 / sites-available / default :

NameVirtualHost *:80

<VirtualHost *:80>
   ServerName www.my-domain.com
   ServerAlias my-domain.com
   Redirect permanent / https://www.my-domain.com
</VirtualHost>

<VirtualHost *:80>
   ServerName www.my-domain.fr
   ServerAlias my-domain.fr
   Redirect permanent / https://www.my-domain.com
</VirtualHost>

Мой / etc / apache2 / sites-available / default-ssl :

NameVirtualHost *:443

<VirtualHost *:443>
   ServerName www.my-domain.com
   ServerAlias my-domain.com
   DocumentRoot /var/www/my-domain/
   ErrorLog /var/log/my-domain/my-domain.com.error.log
   CustomLog /var/log/my-domain/my-domain.com.access.log combined

   GnuTLSEnable on
   GnuTLSPriorities NORMAL
   GnuTLSExportCertificates on
   GnuTLSCertificateFile /etc/apache2/ssl/certs/my-domain.com.crt
   GnuTLSKeyFile /etc/apache2/ssl/private/my-domain.com.key
</VirtualHost>

<VirtualHost *:443>
   ServerName www.my-domain.fr
   ServerAlias my-domain.fr
   DocumentRoot /var/www/my-domain/
   ErrorLog /var/log/my-domain/my-domain.fr.error.log
   CustomLog /var/log/my-domain/my-domain.fr.access.log combined

   GnuTLSEnable on
   GnuTLSPriorities NORMAL
   GnuTLSExportCertificates on
   GnuTLSCertificateFile /etc/apache2/ssl/certs/my-domain.fr.crt
   GnuTLSKeyFile /etc/apache2/ssl/private/my-domain.fr.key
</VirtualHost>

Но я ' m получаю ошибку сертификата SSL, когда я иду на my-domain.fr, потому что он говорит мне, что я хотел перейти на my-domain.fr, а я нет.

0
задан 19 February 2014 в 17:18
2 ответа

Боюсь, вы неправильно поняли порядок, в котором все происходит. Сначала устанавливается SSL-соединение, и только после того, как это будет сделано, HTTP-запрос будет передан на сервер и получит в ответ перенаправление.

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

Самое простое решение здесь - получить сертификат с Альтернативные имена субъектов, и вы перечисляете все домены, для которых хотите использовать сертификат. Таким образом, у вас останется только один сертификат, который нужно обновлять,

3
ответ дан 4 December 2019 в 11:28

Ваш веб-сервер не знает запрошенный домен, когда вы используете HTTPS, поэтому он всегда будет запрашивать первый *: 443 виртуальный хост , который вы настроили. Для работы SNI вам потребуется openssl-1.x.

2
ответ дан 4 December 2019 в 11:28

Теги

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