在 Centos 6 上使用 Apache 进行反向代理
Posted
技术标签:
【中文标题】在 Centos 6 上使用 Apache 进行反向代理【英文标题】:Reverse Proxy with Apache on Centos 6 【发布时间】:2014-09-23 04:02:29 【问题描述】:我正在尝试使用 Apache 将 URL 转发到另一台服务器。我在 httpd.conf 中创建了一个虚拟主机。当我尝试访问 ipServeur/test 时它不起作用。我无法访问该页面。
怎么了?
NameVirtualHost *:80
<VirtualHost *:80>
ServerName ipServeur
ProxyRequests off
ProxyPass /test http://ipOtherServeur:8080
ProxyPassReverse /test http://ipOtherServeur:8080
</VirtualHost>
【问题讨论】:
[2014 年 7 月 31 日星期四 12:12:41] [错误] (70007) 指定的超时已过期:代理:HTTP:尝试连接到 ipOtherServeur:8080 (ipOtherServeur) 失败 [7 月 31 日星期四2014 年 12:12:41] [错误] ap_proxy_connect_backend 禁用 (ipOtherServeur) 的工作人员 【参考方案1】:来自apache's wiki:
此错误与文件权限或类似问题无关。它实际上意味着 httpd 已被拒绝连接到该 IP 地址和端口的权限。
最常见的原因是 SELinux 不允许 httpd 网络连接。
要解决它,您需要更改一个 SELinux 布尔值(这将 自动在重新启动后持续存在)。您可能还想重新启动 httpd 重置代理工作者,虽然这并不严格 必填。
要允许 apache 建立网络连接,请发出以下命令。
sudo /usr/sbin/setsebool httpd_can_network_connect 1
然后重启apache。
sudo service httpd restart
【讨论】:
正确!这正是解决问题的方法。以上是关于在 Centos 6 上使用 Apache 进行反向代理的主要内容,如果未能解决你的问题,请参考以下文章
centos 6.5 上 Apache 2.2.15 上的 Django
使用 Apache 和 mod_wsgi 在 Centos 上设置 Django