我正在运行带有 Apache 2.2 的 Red Hat Enterprise Linux 6。如何配置 Apache 以使用系统 HTTP 代理(公司内部代理)?当我尝试将代理反向连接到外部地址(公司防火墙外)时,我总是收到“连接被拒绝”错误。
到目前为止我已经尝试了以下方法:
将以下内容添加到 httpd.conf 文件(包含实际凭据和代理服务器详细信息):
SetEnv http_proxy http://username:password@proxy:port
我尝试将以下内容添加到 /etc/profile、/root/.bash_profile、/root/.profile、/var/www/.profile 和 /var/www/.bash_profile:
http_proxy http://username:password@proxy:port
export http_proxy
我还通过执行以下操作验证了 http_proxy 值是否正确
wget www.google.com
来自 root shell。
我应该补充一点,我的最终目标是将所有本地 /utag/* URL 反向代理到http://tags.tiqcdn.com/utag/* 通过公司内部 HTTP 代理。
答案1
我认为这是不可能的。我认为你唯一的办法是安装一个 Squid 作为透明代理,然后让 Apache 将请求发送给该代理。
编辑:
我使用 ProxyRemote(附带 ProxyPass 语句)解决了这个问题。在 Apache 2.2 上,如果没有补丁,则无法使用用户名/密码,但我设法获得了公司代理访问权限,该访问权限通过 IP 授予访问权限,而不是要求用户凭据。– 鲁道夫17分钟前