Apache2 mod_proxy 最简单的配置是什么?

Apache2 mod_proxy 最简单的配置是什么?

我正在运行 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 文档了解更多信息。

(是的,这是一个重复的答案,但我试图让事情变得更清楚,并希望没有人无意中启动开放代理)

相关内容