Мне нужно настроить обратный прокси-сервер для перенаправления HTTP-запроса на другой хост, который также выполняет HTTP-запросы, но я застрял
Вот конфигурация виртуального хоста на моем Apache в качестве обратного прокси
<VirtualHost *:80>
ServerAdmin admin@mydomain.com
ServerName mail.mydomain.com
RewriteEngine on
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [L,R]
SSLProxyEngine on
<Proxy "*">
Order allow,deny
Allow from all
</Proxy>
ProxyPass / https://192.168.1.6/webmail/
ProxyPassReverse / https://192.168.1.6/webmail/
ErrorLog /var/log/apache2/webmail_log
CustomLog /var/log/apache2/webmail-access_log combined
</VirtualHost>
В моем браузере я использую этот адрес http://mail.mydomain.com
Но он перенаправляет запрос только на HTTP на обратном прокси-сервере, а не на HTTP на почтовом узле.
Спасибо, ребята
Я еще не настроил обратный прокси https, но собираюсь сделать это прямо сейчас
насколько я могу судить, ваше определение прокси не в том месте.
Ваш RewriteRule перенаправляет вас с виртуального хоста http на виртуальный хост https, поэтому есть место, куда должна перейти конфигурация прокси.
РЕДАКТИРОВАТЬ: в основном я имел в виду это:
удалите прокси с vhost на 80 порт
<VirtualHost *:80>
ServerAdmin admin@mydomain.com
ServerName mail.mydomain.com
RewriteEngine on
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [L,R]
ErrorLog /var/log/apache2/webmail_log
CustomLog /var/log/apache2/webmail-access_log combined
</VirtualHost>
и добавьте его к vhost, прослушивающему порт 443 (https)
<VirtualHost *:443>
... другой конфиг vhost ....
SSLProxyEngine on
<Proxy "*">
Order allow,deny
Allow from all
</Proxy>
ProxyPass / https://192.168.1.6/webmail/
ProxyPassReverse / https://192.168.1.6/webmail/
</VirtualHost>
Я не тестировал эту точную настройку, но думаю, что она должна работать вот так ...