Apache не пересылает запросы на Nodejs внутренний сервер - PullRequest
0 голосов
/ 06 августа 2020

У меня есть следующий файл конфигурации для моего vhost.conf. Я пробовал буквально все возможные конфигурации, чтобы заставить проксирование работать, но безуспешно. У меня бэкэнд-сервер nodejs прослушивает порт 3000, и я не могу пересылать на него запросы. Если я получаю доступ к IP-адресу сервера и удаляю любой vhost, он работает нормально, но когда я добавляю какой-либо vhost.conf, я получаю сообщение «Service Unavailable» в браузере. Может кто поможет? Спасибо. Ниже мой файл vhost.conf. У меня нет доменного имени, я использую IP-адрес своего сервера для разрешения входящих запросов.

<VirtualHost *:80>
    
    ServerName localhost

    ProxyPreserveHost On
    ProxyRequests Off

    ProxyPass / http://localhost:3000/
    ProxyPassReverse / http://localhost:3000/

</VirtualHost>

1 Ответ

0 голосов
/ 06 августа 2020

По какой-то странной причине мне нужно было добавить теги <IfModule mod_proxy.c></ifModule>, чтобы он работал. Я настроил много серверов, и раньше мне не требовался этот тег. Да ладно, мне понадобился 1 день, чтобы понять это.

 <VirtualHost *:80>

    ServerName localhost

    <IfModule mod_proxy.c>
     ProxyPass / http://localhost:3000/ retry=0 timeout=5
     ProxyPassReverse / http://localhost:3000/
    </IfModule>

 </VirtualHost>
...