【问题标题】:Write transparent HTTP Proxy script in PHP用 PHP 编写透明的 HTTP 代理脚本
【发布时间】:2011-01-16 22:48:39
【问题描述】:

我可以在我的网络服务器上托管一个简单的转发/透明 php 代理脚本吗?这些是我的条件:

  1. 我正在使用免费的虚拟主机,所以我几乎无法控制我的机器。否则我可以使用 Perl 的 HTTP::Proxy 模块。这意味着没有root密码。它确实运行 php。

  2. 我已经有一个在 80 端口上运行的服务器。我的意思是我想在我的服务器上放置一个 php 脚本作为 index.php 来转发所有请求。

  3. 我不希望使用 PHProxy 或 Glype 之类的脚本访问该站点,然后输入 URL。我想要一个服务器,这样我就可以在 Firefox 或 IE 或任何代理设置中输入 proxy.example.com:80,它会将所有请求转发到服务器。

  4. 最好(虽然如果不可能,但不是致命的)我希望它传递 USER_AGENT 环境变量(即浏览器)而不是将自己设置为 USER_AGENT

  5. 我无法启动新的守护进程。我的服务器不允许。

是否有脚本可以做到这一点?如果有,是哪个?

【问题讨论】:

  • 您的主机是否将 cURL 支持编译到他们的 php 中?

标签: php http proxy


【解决方案1】:

不,我很确定这在共享主机上是不可能的。它将无法满足您的条件号 3。这需要 Web 服务器级别的支持(例如,使用 Apache 的 mod_proxy

为此,您必须将远程服务器设置为能够处理代理请求。没有任何健全的网络服务器会提供这种可能性。

【讨论】:

  • +1 Apache 通常会在其日志中告知“使用 mod_proxy 进行连接尝试”。我想当有人试图将服务器用作代理时会发生这种情况。也就是说,传递绝对 URI(用于代理)而不是资源的路径。
猜你喜欢
  • 2011-06-11
  • 2010-11-08
  • 2020-05-12
  • 2012-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-28
  • 1970-01-01
相关资源
最近更新 更多