跳到主要内容

Reverse Proxy(反向代理)

使用 Proxyman Reverse Proxy 通过本地端口,抓取忽略系统代理的应用和命令行工具中的 HTTP 与 HTTPS 流量。

1. 这是什么?​

Reverse Proxy 会创建一个本地 Web 服务器,将你的流量透明地转发到远程服务器。这样,Proxyman 就能抓取并记录你的流量。

当你使用的客户端不支持 HTTP/HTTPS 代理,或 HTTP 代理配置过于复杂时,Reverse Proxy 就很有用。

例如,大多数命令行应用不会遵循系统的 HTTP/HTTPS 代理设置,因此 Proxyman 无法抓取它们的流量。要解决这个问题,你可以:

Reverse Proxy 在 Proxyman 2.29.0 及更高版本中可用。

2. 优势​

  • 将客户端连接到 Proxyman 的本地 Web 服务器,Proxyman 会将流量转发到远程主机。无需在客户端上设置 HTTP/HTTPS 代理。
  • 可从 Charles Proxy 导入 Reverse Proxy 设置。
  • 保留 Host 请求头。
  • 创建新条目时,Proxyman 会自动选择可用端口。
  • 可对 Reverse Proxy 流量使用 Breakpoint、Map Local 和 Scripting 💯。

3. 使用方法​

  1. 打开 Tools 菜单 -> Reverse Proxy…
  2. 创建新条目,并输入 Remote Host 和 Remote Port。Proxyman 会自动选择 Local Port。你可以将其改为其他端口,但该端口必须可用。
  3. 保存。
  4. 在客户端应用中,将 URL 改为 http://localhost:<local_port>(例如 http://localhost:10000)
  5. 发起请求,并在 Proxyman 应用中查看流量。
Proxyman Reverse Proxy 窗口,其中 httpbin 条目将本地端口 10000 映射到 httpbin.proxyman.app 的 443 端口

Reverse Proxy 窗口

Proxyman Reverse Proxy 条目编辑器,本地端口 10000,远程主机 httpbin.proxyman.app,远程端口 443

Reverse Proxy 条目

信息

如果 Remote Port 为 443,Proxyman 会与远程服务器执行 SSL 握手;否则,会将远程服务器视为普通的 HTTP Web 服务器。

从 Proxyman 5.17.0 开始,勾选 Force Using SSL when connecting to Remote Port,即可对任意远程端口使用 SSL/TLS。

信息

Preserve Host in Header fields 会保留原始的 Host 值。请谨慎使用,因为如果 Host 值不匹配,远程服务器可能会拒绝该请求。

了解更多​