Назад | Перейти на главную страницу

Сайт apache по умолчанию не отображается, когда я включаю httpd-vhosts.conf! В чем проблема?

Я пытаюсь добавить в apache два виртуальных хоста.

В httpd.conf раскомментирую эти строки:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_module modules/mod_proxy_connect.so
Include conf/extra/httpd-vhosts.conf

И я добавляю их в httpd-vhosts.conf;

<Directory "C:/dev/cfusion">
    Order allow,deny
    Allow from all
</Directory>

NameVirtualHost *:80

<virtualhost *:80>  
    DocumentRoot "C:\dev\cfusion"
    ServerName cfusion
    ProxyRequests Off  
<proxy *>  
    Order deny,allow  
    Allow from all  
</Proxy>  
    ProxyPass / http://127.0.0.1:8080/cfusion/  
    ProxyPassReverse / http://127.0.0.1:8080/cfusion/  
    ErrorLog "logs/cfusion.local-error.log"
    CustomLog "logs/cfusion.local-access.log" common
</VirtualHost>

<virtualhost *:80>  
    DocumentRoot "C:\dev\cfusion"
    ServerName railo
    ProxyRequests Off  
<proxy *>  
    Order deny,allow  
    Allow from all  
</Proxy>  
    ProxyPass / http://127.0.0.1:8080/railo/  
    ProxyPassReverse / http://127.0.0.1:8080/railo/  
    ErrorLog "logs/railo.local-error.log"
    CustomLog "logs/railo.local-access.log" common
</VirtualHost>

Когда я комментирую Include, я вижу сайт apache по умолчанию, в противном случае я получаю внутреннюю ошибку сервера 500. В чем проблема?

Когда я не комментирую

ProxyPass / http://127.0.0.1:8080/railo/

тогда я больше не получаю ошибку 500, но проксирование не работает :(

Хотя это, вероятно, не является источником вашей проблемы, это похоже на ошибку:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_module modules/mod_proxy_connect.so
Include conf/extra/httpd-vhosts.conf

Эта вторая строка должна быть:

LoadModule proxy_connect_module modules/mod_proxy_connect.so

Вы можете попробовать:

  1. Не используйте директиву DocumentRoot, она вам не нужна для vhosts, использующих прокси.
  2. удалять <proxy *> ... </proxy> директивы. Это не используется для обратного прокси.
  3. Определите директиву ServerAlias ​​и ProxyTimeout
  4. Поместите ProxyRequests перед ProxyPass и ProxyPassReverse

Надеюсь, что это работает.

Возможно, это из-за тегов xml, которые начинаются строчными буквами и заканчиваются прописными.

т.е. <proxy *> ... </Proxy>

У меня нет Apache для тестирования, но попробуйте

Хорошо, я нашел ошибку. Все, что мне нужно было сделать, это не комментировать подмодуль прокси:

LoadModule proxy_http_module modules/mod_proxy_http.so