这个问题有很多很好的答案,其中涉及在路由器上设置 iptables 路由。但是我需要在客户端上设置 iptables 路由。
我正在开发嵌入式系统。它使用 ppp 和 GPRS 调制解调器连接到互联网。系统运行一个通过 libcurl 发出 https 请求的应用程序。
我现在需要通过托管在互联网上某处的透明 https 代理服务器路由这些 https 请求。我已经使用鱿鱼和 ssl_bump 设置了 https 代理,并且我已经验证它是否按预期工作。
通过代理路由 https 请求的方法有多种,例如我可以重建应用程序并配置 libcurl 以通过 CURLOPT_PROXY 使用代理服务器。但我想知道设置一条路由以将发送到 HTTPS 端口的所有内容转发到代理是否可能更简单、更灵活。
我见过的最接近的问题是如何在代理服务器位于远程的情况下配置透明代理?但这要求路由包含客户端的IP地址。由于这是一个时常出现的 GPRS 连接,因此 IP 地址是未知的并且会不时发生变化。
答案1
libcurl 尊重环境变量http_代理 https_代理
所以这很简单:
export http_proxy=http://yourproxy.example.com:3128/
export https_proxy=http://yourproxy.example.com:3128/
./my-application-exe