Назад | Перейти на главную страницу

Обратный прокси HTTPS с использованием apache

Я использую эту конфигурацию 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-запросы перенаправлялись вместо проксирования, вы должны сделать две вещи:

  1. Переместите конфигурацию прокси (SSLProxyEngine через ProxyPassReverse в виртуальный хост SSL в /etc/httpd/conf.d/ssl.conf, так что он будет применяться только там

  2. Создайте виртуальный хост HTTP, который будет перенаправлять - возможно, в новый .conf файл в /etc/httpd/conf.d:

    <VirtualHost *:80>
      ServerName redirect
      RewriteEngine On
      RewriteRule ^(.*) https://%{HTTP_HOST}/$1
    </VirtualHost>