Странное поведение виртуального хоста сервера Apache2

avatar
Basketbla
1 июля 2021 в 19:47
12
0
0

Я пытаюсь заставить свой личный веб-сайт перенаправлять не-https-запросы на https-версию сайта. Настройка виртуального хоста в моем файле httpd.conf:

Listen 443
<VirtualHost *:443>
        ServerAdmin   admin@my-website.com
        DocumentRoot  /var/www/html
        ServerName    www.my-website.com
        ErrorLog      /var/www/logs/error_log
        SSLEngine on
        SSLCertificateFile       /etc/letsencrypt/live/my-website.com/fullchain.pem
        SSLCertificateKeyFile    /etc/letsencrypt/live/my-website.com/privkey.pem
</VirtualHost>

работает совершенно нормально.

Однако, когда я пытаюсь настроить виртуальный хост для порта 80, вот так:

Listen 80
<VirtualHost *:80>
        ServerAdmin admin@my-website.com
        ServerName www.my-website.com
        RewriteEngine On
        RewriteCond %{SERVER_PORT} !443
        RewriteRule ^(/(.*))?$ https://%{HTTP_HOST}/$1 [R=301,L]
</VirtualHost>

Он полностью пропускается, и в конечном итоге файлы просто обслуживаются с главного сервера. Я делаю что-то не так в настройках?

Кроме того, происходит нечто, что меня совершенно сбивает с толку. Если я оставлю DocumentRoot таким же для основного сервера, но изменю его на какой-нибудь тестовый html для виртуального хоста порта 443, когда я перейду на http-версию веб-сайта, я увижу тестовый html, но сайт по-прежнему показывает небезопасное http-соединение , а не https-версия. Что может быть причиной этого?

Источник

Ответы (0)