Что может быть не так с этим файлом виртуального хоста в Apache? - PullRequest
0 голосов
/ 23 февраля 2019

Я пытаюсь перенаправить приложение на дополнительный маршрут на внутреннем сервере, используя Gunicorn с моим приложением Django.Мой файл виртуального хоста выглядит следующим образом:

LoadModule proxy_module /usr/lib64/apache2/mod_proxy.so
LoadModule proxy_http_module /usr/lib64/apache2/mod_proxy_http.so
<VirtualHost *:80>
        ServerName 172.16.1.81
        <Location "/mycustomapp">
            ProxyPreserveHost On
            ProxyPass http://127.0.0.1:9090
            ProxyPassReverse http://127.0.0.1:9090
        </Location>

</VirtualHost>

Когда я перехожу к 172.16.1.81/mycustomapp, я получаю сообщение об ошибке 404 not found при попытке перейти к приложению по этому маршруту.Есть ли что-то еще, что я делаю здесь не так?

1 Ответ

0 голосов
/ 24 февраля 2019

Хорошо, я понял это.Для тех, кто столкнется с подобными проблемами в будущем, решение заключается в использовании директивы ServerPath внутри вашей конфигурации VirtualHost.Например, если вы хотите, чтобы приложение обслуживалось по адресу 172.15.1.20/app1, а другое приложение по адресу 172.15.1.20/app2 (через переадресацию порта на процесс, прослушивающий порт), конфигурация виртуального хоста будет выглядеть следующим образом:

LoadModule proxy_module /usr/lib64/apache2/mod_proxy.so
LoadModule proxy_http_module /usr/lib64/apache2/mod_proxy_http.so
<VirtualHost *:80>
    ServerName 172.15.1.20

    ProxyPreserveHost On

    ProxyPass /app1 http://127.0.0.1:9090
    ProxyPassReverse /app1 http://127.0.0.1:9090

    ProxyPass /app2 http://127.0.0.1:9080
    ProxyPassReverse /app2 http://127.0.0.1:9080

</VirtualHost>
...