Запустите Apache http, Apache tomcat и nodejs на том же порту

Я веб-разработчик, и для проекта мне нужно запускать tomcat и nodejs без использования порта.

Я видел несколько сообщений о модуле прокси в httpd , поэтому я создал два виртуальных хоста следующим образом:

<VirtualHost *:80>
       ServerName localhost
       # ErrorLog "logs/tomcat-error.log"
       ProxyPreserveHost On
       ProxyPass /tomcat http://localhost:8080/
       ProxyPassReverse /tomcat http://localhost:8080/
</VirtualHost>

<VirtualHost *:80>
      ServerName localhost
      # ErrorLog "logs/nodejs-error.log"
      ProxyPreserveHost On
      ProxyPass /nodejs http://localhost:8000/
      ProxyPassReverse /nodejs http://localhost:8000/
</VirtualHost>

И когда я пытаюсь получить доступ как к localhost / nodejs, так и к localhost / tomcat, я получаю ошибку Not Found.

Кто-нибудь может объяснить мне, почему?

Спасибо; -)

1
задан 5 November 2015 в 11:34
2 ответа

Я решил свою проблему, сделав это в с поддержкой сайтов conf:

NameVirtualHost MY-IP:80

<VirtualHost MY-IP:80>
    ProxyPass / http://localhost:3000/
    ProxyPassReverse / http://localhost:3000/
    ServerName dummy.com
</VirtualHost>

<VirtualHost MY-IP:80>
    DocumentRoot /var/www
    ServerName dummy.org
</VirtualHost>

Надеюсь, это поможет кому-то другому

0
ответ дан 4 December 2019 в 06:53

Первый совпавший VirtualHost затеняет следующие. Таким образом, от ProxyPass до nodejs никогда не достигается.

Вы должны объединить все это как:

<VirtualHost *:80>
   ServerName localhost
   # ErrorLog "logs/tomcat-error.log"

   <Location /tomcat/ >
      ProxyPreserveHost On
      ProxyPass http://localhost:8080/
      ProxyPassReverse http://localhost:8080/
   </Location>

   # ErrorLog "logs/nodejs-error.log"
   <Location /nodejs/ >
      ProxyPreserveHost On
      ProxyPass http://localhost:8000/
      ProxyPassReverse http://localhost:8000/
   </Location>
</VirtualHost>

Включили ли вы прокси и proxy_http модулей?

И, конечно же, стороны tomcat и nodejs должны быть на месте.

0
ответ дан 4 December 2019 в 06:53

Теги

Похожие вопросы