我正在运行 apache2,并且我有一个可用的服务http://www.domain.com:8080/站点名称
最简单的 apache2 配置是输入“http://www.domain.com“在浏览器中将显示”http://www.domain.com:8080/站点名称“? 我已经添加了:
<VirtualHost *:80>
ProxyPass / http://www.domain.com:8080/sitename/
ProxyPassReverse / http://www.domain.com:8080/sitename/
</VirtualHost>
但是,当然,这是行不通的。我可以使用一些简单的配置来实现这种重定向吗?还是我注定要从教程中复制粘贴 100 多行配置?
答案1
我认为你已经快到了尝试添加
ProxyRequests Off
<Proxy *>
Order deny,allow
allow from all
</Proxy>
ProxyPreserveHost On
您的 VirtualHost 定义
答案2
我的工作配置(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>
答案3
看起来不错。检查您的错误日志。您是否同时加载了 mod_proxy 和 mod_proxy_http?您还应该关闭“ProxyRequests”,以防止您成为正向代理
答案4
<proxy> 语句用于“转发”代理,允许对网络上的任何 URL 进行请求。
加载 mod_proxy_http 并使用“ProxyPass”和“ProxyPassReverse”语句将执行您想要的操作。
Apache 2.2 mod_proxy 文档了解更多信息。
(是的,这是一个重复的答案,但我试图让事情变得更清楚,并希望没有人无意中启动开放代理)