当我包含httpd-vhosts.conf时,默认的apache站点不会显示出来! 有什么问题?

我正在尝试添加两个虚拟主机到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> 

当我评论包括,我看到默认的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 

也许是因为xml标签,它以小写字母开头,并以大写字母结尾。

<proxy *> ... </Proxy>

我没有在这里testingApache,但试试看

有些事情你可以尝试:

  1. 不要使用DocumentRoot指令,您不需要使用代理的虚拟主机。
  2. 删除<proxy *> ... </proxy>指令。 这不用于反向代理。
  3. 定义一个ServerAlias指令和一个ProxyTimeout
  4. 在ProxyPass和ProxyPassReverse之前放置ProxyRequests

希望它的作品。

好的,我发现了错误。 我所要做的就是取消注释代理子模块:

 LoadModule proxy_http_module modules/mod_proxy_http.so