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

Не удается перенаправить имя хоста на полное доменное имя с HTTPS

Во-первых, я не хочу использовать перезаписи.

Я пытаюсь перенаправить любой вызов (HTTP или HTTPS) на myserver в защищенный полный домен, используя https на https://myserver.fullyqualified.com.

Вот мой конфиг

# Redirect all http traffic to https
<VirtualHost *:80> # line 545
  Redirect / https://myserver.fullyqualified.com/
</VirtualHost>

<VirtualHost *:443> # line 549
  ServerName myserver.fullyqualified.com
  SSLEngine on
  SSLCertificateFile "conf/mycert.crt"
  SSLCertificateKeyFile "conf/mykey.key"
</VirtualHost>
<VirtualHost *:443> # line 555
  ServerName myserver
  Redirect / https://myserver.fullyqualified.com/
</VirtualHost>

Это отлично работает для HTTP, я могу позвонить http://myserver и перенаправляет на https://myserver.fullyqualified.com просто хорошо.

Однако когда я звоню https://myserver Я получаю сообщение об ошибке, что сайт небезопасен, и он не перенаправляет на https://myserver.fullyqualified.com как я и ожидал.

В Chrome ошибка говорит

Этот сервер не смог доказать, что это мой сервер; его сертификат безопасности получен с myserver.fullyqualified.com. Это может быть вызвано неправильной конфигурацией или злоумышленником, перехватывающим ваше соединение.

Это результат httpd -S

*:80                   MYSERVER.fullyqualified.com (C:/Apache24/conf/httpd.conf:545)
*:443                  is a NameVirtualHost
         default server myserver.fullyqualified.com (C:/Apache24/conf/httpd.conf:549)
         port 443 namevhost myserver.fullyqualified.com (C:/Apache24/conf/httpd.conf:549)
         port 443 namevhost myserver (C:/Apache24/conf/httpd.conf:555)
ServerRoot: "C:/Apache24"
Main DocumentRoot: "C:/Apache24/htdocs"
Main ErrorLog: "C:/Apache24/logs/error.log"
Mutex default: dir="C:/Apache24/logs/" mechanism=default
Mutex rewrite-map: using_defaults
Mutex ssl-stapling-refresh: using_defaults
Mutex ssl-stapling: using_defaults
Mutex proxy: using_defaults
Mutex ssl-cache: using_defaults
PidFile: "C:/Apache24/logs/httpd.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
Define: SRVROOT=c:/Apache24

Как я могу перенаправить HTTPS-трафик на полное доменное имя?

В вашем SSL-сертификате для HTTPS должен быть myserver в качестве альтернативного имени, поскольку это кажется простой ошибкой ssl, которая блокирует перенаправление.

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

Если ваш сертификат предназначен для https://example.com, браузер не примет его для доступа https://example потому что имена не совпадают.

Если у вас нет самозаверяющих сертификатов, принятых в вашем браузере (и у всех ваших клиентов), этого нельзя предотвратить, и вы не получите никаких общедоступных подписанных сертификатов (например, с Let's encrypt или любым обычным CA) для имени хоста. без TLD.