Я читал и пробовал разные конфигурации, чтобы получить запрос на мой сервер через порт 10000, чтобы перенаправить http на запрос https.
По какой-то причине я не могу понять, как это сделать, когда я использую порт 10000, хотя я могу установить правило перезаписи для порта 80 (неявно), чтобы сделать это:
Все, что мне нужно, это запрос следующего содержания:
http://example.com:10000
перенаправить меня на
https://example.com:10000
Моя текущая, vhost, последняя из множества разных попыток в настоящее время установлена следующим образом, но, похоже, она вообще не работает:
<VirtualHost *:10000>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_POST}%{REQUEST_URI}
ErrorLog "/var/log/httpd/webmin-redirect_error_log.log"
CustomLog "/var/log/httpd/webmin-redirect_access_log.log" common
</VirtualHost>
Я также пробовал несколько других вещей, но, похоже, ничего не работает, любая помощь будет оценена.
РЕДАКТИРОВАТЬ: у меня уже есть перезапись в моем httpd.conf, которая перенаправляет порт 80 на https. Если я обращаюсь к порту 10000 извне, он перенаправляется на https, но из локальной сети "http://192.168.0.2:10000"это не так.
Вы должны решить, является ли порт 10000 HTTP или HTTPS. Для HTTPS вам нужно будет создать собственный виртуальный хост со строками конфигурации SSL *. Вы не можете иметь оба на одном IP-адресе в одном порту.
Это можно заархивировать, перенаправив на пользовательскую страницу «400 - неверный запрос» и изменив перенаправление с помощью правила перезаписи. В следующем примере я запрашиваю
http: //test.mydomain.com:27000
и вас перенаправят на
https: //test.mydomain.com:27000
с одним виртуальным хостом.
Код:
ErrorDocument 400 /
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^/?(.*) https://%{SERVER_NAME}:27000/$1 [R,L]
Или вы просто перенаправляете напрямую на HTTPS-версию страницы.
Код:
ErrorDocument 400 https://test.mydomain.com:27000
Но вы потеряете возможность перенаправления на настоящую страницу с ошибочным запросом.