HTTP перенаправляет на основной домен, но не HTTPS
Я пытаюсь настроить поддомен на моей машине с Ubuntu 17.10. Я получил работающую часть HTTPS, которая показывает правильные файлы поддоменов, но когда я указываю это как HTTP, он показывает основной домен, но я хочу, чтобы HTTP перенаправлял и показывал версию HTTPS поддомена.
файл с сайтами:
<VirtualHost *:80>
ServerName forum.domain.com
RewriteEngine on
RewriteCond %{SERVER_NAME} =forum.domain.com
RewriteRule ^ https://forum.domain.com%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName forum.domain.com
DocumentRoot /var/www/forum/html
<Directory /var/www/forum/html>
AllowOverride All
</Directory>
</VirtualHost>
</IfModule>
По какой-то причине версия HTTP просто показывает версию основного порта 80 веб-сайта. Я использую Let's Encrypt для HTTPS SSL-шифрования веб-сайта (потому что он бесплатный), и я просмотрел другие conf-файлы, чтобы не видеть других ошибок сам
Файл /etc/hosts:
127.0.0.1 localhost
--.--.--.-- vps141---.vps.ovh.ca vps141---
127.0.1.1 vps141---.vps.ovh.ca vps141---
--.--.--.-- forum.domain.com
Мне пришлось убрать несколько цифр, чтобы я не показывал свою информацию всем, кто просматривает извините:(
1 ответ
Это не правильный Vhost для SSL.
Вы должны фактически включить SSL на VHost (SSLEngine on
), укажите сертификат и так далее. Вот разумная отправная точка.
<VirtualHost *:443>
DocumentRoot /var/www/forum/html/
ErrorLog "logs/error_log"
CustomLog "logs/access_log" common
ServerName forum.domain.com
ServerAlias www.forum.domain.com
SSLEngine on
SSLProtocol all -SSLv3 -SSLv2
SSLCipherSuite HIGH:!aNULL
SSLCertificateFile /etc/letsencrypt/live/forum.domain.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/forum.domain.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/forum.domain.com/chain.pem
CustomLog /var/log/apache2/ssllog %t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>
Для достижения перенаправления вы можете использовать следующее для вашего обычного vhost:
<VirtualHost *:80>
ServerName forum.domain.com
Redirect permanent / https://forum.domain.com/
</VirtualHost>