Как я могу заставить ProxyPass работать на всех страницах без определения нового правила для каждой страницы - PullRequest
0 голосов
/ 12 января 2020

Я очень новичок в настройке apache конфигов. Документы не имеют особого смысла для меня, у меня есть приложение узла, работающее на порте, который функционирует как веб-сайт, но я хочу иметь возможность подключиться к нему со своим доменом. Я осматривался и решил, что мне нужно использовать ProxyPass для перенаправления трафика c с порта 443 (https) на порт, на котором запущено приложение (я уже использую apache для других вещей, поэтому я не хотел переключить). И в целом это работает, но есть ли способ сделать только одно правило ProxyPass, которое будет обрабатывать все страницы (например, я go до https://example.com/ будет использовать https://localhost:4450/, а если я go до https://example.com/example, это будет используйте https://localhost:4450/example и для всех остальных страниц).

Я бы подумал, что мне нужен RewriteRule, но я не совсем понимаю, как я могу получить страницу (что бы ни было после первого / или ни одного) используя его.

1 Ответ

1 голос
/ 13 января 2020

Вы просто запускаете apache в качестве обратного прокси-сервера. Вот пример конфигурации:

<VirtualHost *:443>

 SSLEngine On
 SSLCertificateFile /etc/apache2/ssl/file.pem
 ProxyPreserveHost On
 ServerName localhost

 ProxyPass / http://0.0.0.0:4450/
 ProxyPassReverse / http://0.0.0.0:4450/

</VirtualHost>

, и вы должны включить прокси-модули, подобные этому

a2enmod proxy
a2enmod proxy_http
...