我有一个apache2运行,我有一个服务可用作为http://www.domain.com:8080/sitename
什么将是一个最简单的apache2configuration,所以在浏览器中input“ http://www.domain.com ”将显示“ http://www.domain.com:8080/sitename ”? 我已经添加了:
<VirtualHost *:80> ProxyPass / http://www.domain.com:8080/sitename/ ProxyPassReverse / http://www.domain.com:8080/sitename/ </VirtualHost>
但是,当然,这不是工作。 这是一些简单的configuration,我可以使用这样的redirect或我注定要从教程复制粘贴100+行configuration?
我想你几乎在那里尝试添加
ProxyRequests Off <Proxy *> Order deny,allow allow from all </Proxy> ProxyPreserveHost On
到你的VirtualHost定义
我的工作configuration(Ubuntu 10.04):
<VirtualHost *:80> ProxyPass / http://www.domain.com:8080/sitename/ ProxyPassReverse / http://www.domain.com:8080/sitename/ ProxyPreserveHost On <proxy> Order deny,allow Allow from all </proxy> </VirtualHost>
看起来不错。 检查你的错误日志。 你有mod_proxy和mod_proxy_http加载? 您还应该有“ProxyRequests Off”以防止您成为转发代理
<proxy>语句用于“前向”代理,它允许请求networking上的任何url。
加载mod_proxy_http并使用“ProxyPass”和“ProxyPassReverse”语句将做你想要的。
有关更多的Apache 2.2 mod_proxy文档 。
(是的,这是一个重复的答案,但我试图让事情更清楚,希望没有人不经意地启动一个开放代理)