我的远程服务器可以访问特定的第三方 API。但我的本地 PC 却不能。我可以从服务器 nodejs 后端执行第三方 http 请求:
await axios.post("http://111.111.111.111:8810")
我如何设置带隧道的 SSH 连接以便从我的本地电脑执行类似的请求?
答案1
SOCKS 是最常用且最灵活的方法——您的 SSH 客户端可以假装是 SOCKS 代理,并且 Axios 似乎在单独模块的帮助下支持使用 SOCKS 代理。
通过在 PuTTY 的 SSH>Tunnel 设置中添加“动态”隧道来启用“SOCKS 代理”。(或者,对于 和ssh.exe
,plink.exe
使用-D
选项。)首先使用 进行测试curl -x
- 某些 SSH 服务器可能配置为禁用隧道。
这是一个随机文章我找到了有关配置 Axios 的信息 - 虽然它谈论的是 Tor,但所有内容都适用于任何其他类型的 SOCKS 服务器:
import { SocksProxyAgent } from "socks-proxy-agent";
const agent = new SocksProxyAgent("socks://127.0.0.1:9050");