Перепишите весь трафик на https с портом
На нем установлен vServer и plesk (серверная часть Apache, обратный прокси-сервер Nginx), plesk прослушивает порт 8443. Я использую имя хоста в качестве домена для упрощенного доступа и домена сертификата SSL. Поэтому я хотел бы перенаправить ВСЕ трафик на конкретный:
Что я получил так далеко, это правило
return 301 https://www.DOMAIN.com:8443/;
что приводит все к URL панели Plesk, но если кто-то использует это
https://DOMAIN.com:8443
он не будет перенаправлен на
https://www.DOMAIN.com:8443
и сертификат SSL не будет работать (на основе домена). Как я могу заставить каждый трафик (http и https с портами 80 и 8443) к
https://www.DOMAIN.com:8443
заранее спасибо
1 ответ
Вы можете HTACCESS сделать это:
Код
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule (.*) https://www.%{HTTP_HOST}%{REQUEST_URI}:8443 [R=301,L]
Для этого нужно проверить, пытается ли пользователь получить доступ к сайту без использования www, и, если это так, перенаправить на www на конкретный порт, который вы хотели.
Если у вас уже есть трафик порта 80, перенаправляющий на порт 8443, и вы просто хотите перенаправить правило для www, то, что я перечислил выше, будет работать. Вы также можете использовать перенаправление модов в зависимости от используемого порта.
Это будет выглядеть так:
Код
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{SERVER_PORT} ^80$
RewriteRule (.*) https://www.%{HTTP_HOST}%{REQUEST_URI}:8443 [R=301,L]
Вам просто нужно убедиться, что на каждом виртуальном хосте, которое вы используете, есть правило перезаписи мода. Возможно, вам придется создать виртуальный хост для дополнительных портов, которые вы хотите использовать. Единственное, что имели бы эти виртуальные хосты, - это правило перенаправления. В противном случае вы можете получить 404 ошибки.