У меня есть сервер на основе Apache, работающий на https://example.com
, и внутри него приложение узла, работающее на порту 3000. Однако запросы могут быть успешно отправлены на https://example.com:3000
, однако, поскольку я планирую запустить несколько приложений, я быхотел бы настроить обратный прокси-сервер для разных приложений. Для этого я добавил следующие строки в файл конфигурации apache:
<VirtualHost *:80>
ServerAdmin foo@example.com
ServerName example.com
ProxyRequests off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
<Location /myapp1>
ProxyPass http://localhost:3000
ProxyPassReverse http://localhost:3000
</Location>
<Location /myapp2>
ProxyPass http://localhost:3010
ProxyPassReverse http://localhost:3010
</Location>
</VirtualHost>
Этот подход не работает, так как запросы к https://example.com/myapp1
ничего не возвращают.
Обновление
После некоторой отладки я обнаружил, что файл .conf
фактически был включен в тег <VirtualHost>
, который вызывал ошибку (вложенный <VirtualHost>
тегов). Теперь у меня просто следующее:
ProxyRequests Off
ProxyPreserveHost On
ProxyVia Full
<Proxy *>
Require all granted
</Proxy>
<Location /myapp1>
ProxyPass http://127.0.0.1:3000
ProxyPassReverse http://127.0.0.1:3000
</Location>
<Location /myapp2>
ProxyPass http://127.0.0.1:3010
ProxyPassReverse http://127.0.0.1:3010
</Location>
Теперь, когда я нажимаю https://example.com/myapp1
, я получаю Not Found - 500 Internal Server Error. Который хотя бы показывает, что маршрутизация распознается. Есть идеи, как продолжить процесс отладки?
Есть идеи, как его правильно настроить