我想配置 Squid 3.5(或任何其他可以完成这项工作的东西)在同一端口上充当反向代理和正向代理。
如果将端口保留为默认正向代理模式,Squid 在接收请求时会返回错误,GET /
因为它希望看到协议和主机名。将其配置为accel
反向代理模式会使其不支持该CONNECT
方法。
我发现旧版本的 Squid 有一个httpd_accel_with_proxy
配置选项,但现在已弃用。我也尝试使用配置选项将协议和主机名添加到以/
该url_rewrite_program
选项开头的请求中,但 Squid 似乎在重写它们之前检查了 URL 的有效性。
答案1
回答我自己的问题,Apache 的mod_proxy并且它的子模块 mod_proxy_connect 完全满足我的需求。你可以将任何虚拟主机变成具有 SSL 和身份验证的正向代理。
即使您不希望代理显示为 Web 服务器,如果您只想要正向代理,我会说它比 Squid 更容易设置,因为它不支持开箱即用的 SSL。