Я использую эту конфигурацию apache для настройки обратного прокси для процесса, запущенного на том же компьютере, на порту 8443,
<Directory "/var/www/html">
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*) https://%{HTTP_HOST}/$1
</Directory>
<IfModule mod_proxy.c>
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
SSLProxyEngine On
ProxyPass / https://127.0.0.1:8443/
ProxyPassReverse / https://127.0.0.1:8443/
</IfModule>
Для процесса, запущенного на 8443, уже настроен сертификат HTTPS / SSL. Это правильная / хорошая конфигурация или я могу сделать это лучше?
Я заметил, что в настоящее время даже http: // будет прокси-сервером на https: // без перезаписи. Я думаю, это может поставить под угрозу SSL? Я бы предпочел иметь только 443 прокси на 8443 и просто использовать перезапись URL для перезаписи запросов http: // на запросы https: //. Возможно ли это с помощью apache?
Спасибо.
РЕДАКТИРОВАТЬ - Вот запрашиваемая информация о виртуальном хосте,
VirtualHost Configuration:
wildcard NameVirtualHosts and _default_ servers:
_default_:443 127.0.0.1 (/etc/httpd/conf.d/ssl.conf:74)
Syntax OK
Чтобы HTTP-запросы перенаправлялись вместо проксирования, вы должны сделать две вещи:
Переместите конфигурацию прокси (SSLProxyEngine
через ProxyPassReverse
в виртуальный хост SSL в /etc/httpd/conf.d/ssl.conf
, так что он будет применяться только там
Создайте виртуальный хост HTTP, который будет перенаправлять - возможно, в новый .conf
файл в /etc/httpd/conf.d
:
<VirtualHost *:80>
ServerName redirect
RewriteEngine On
RewriteRule ^(.*) https://%{HTTP_HOST}/$1
</VirtualHost>