服务器反向代理连接本机

🚀 SSH 反向代理 (Remote SSH) 全生命周期部署指南

应用场景:本地电脑有代理(如 ***,端口 7890),远程服务器在内网或国内,无法访问外网(如 OpenAI API)。需要通过 SSH 建立一条加密隧道,让服务器“借用”本地的网络。

🟢 第一阶段:部署与建立隧道(启动代理)

步骤 1:在本地电脑打通反向隧道

打开本地电脑的终端,使用 -R 参数连接远程服务器:

ssh -R 7890:127.0.0.1:7890 你的用户名@你的服务器IP
  • 原理解释:将远程服务器的 7890 端口,反向映射到本地电脑的 127.0.0.1:7890。
  • ⚠️ 核心要点:登录成功后,绝对不要关闭这个终端窗口。可以将其最小化,一旦关闭,隧道即刻断开。

步骤 2:在服务器端注入环境变量

进入刚才连上的服务器终端,执行以下操作:

1. 临时生效(仅限当前终端窗口):
直接在命令行输入并执行,这能让当前终端立刻吃上代理:

export http_proxy="http://127.0.0.1:7890"
export https_proxy="http://127.0.0.1:7890"
export all_proxy="http://127.0.0.1:7890"
export HTTP_PROXY="http://127.0.0.1:7890"
export HTTPS_PROXY="http://127.0.0.1:7890"
export ALL_PROXY="http://127.0.0.1:7890"

2. 永久生效(写入配置文件):
为了让 Cursor 后台进程(非交互式 Shell)也能读到代理,必须将其写在 ~/.bashrc绝对最顶端
输入 nano ~/.bashrc,将上面那 6 行 export 代码复制粘贴到文件的第一行(必须在 [ -z "$PS1" ] && return 等判断语句之前)。保存并退出。

步骤 3:验证连通性

在服务器终端执行:

curl -I -x http://127.0.0.1:7890 https://api.openai.com
  • 成功标志:返回 HTTP/2 403404cloudflare 字样。

步骤 4:重启 Cursor/VS Code 远端引擎

为了让编辑器吃上刚配好的代理,在服务器终端杀掉旧进程:

pkill -9 -f "cursor"
# 如果用的是 VS Code,则执行 pkill -9 -f "vscode"

回到本地的编辑器窗口,按 F1 输入 Reload Window 重新加载即可。


🔴 第二阶段:彻底清理与关闭(拔除代理)

如果项目结束,或者代理配置出错导致无法联网,请严格按照以下顺序执行“三步走”清理法,防止环境变量残留。

步骤 1:清理内存中的“幽灵变量”(最关键)

切记:修改 ~/.bashrc 后执行 source ~/.bashrc 无法删除内存中已有的变量! 必须在当前的服务器终端中强制卸载它们:

unset http_proxy https_proxy all_proxy HTTP_PROXY HTTPS_PROXY ALL_PROXY

执行后,用 env | grep -i proxy 检查,确保没有任何输出。

步骤 2:切断本地的物理隧道

回到本地电脑,找到那个一直挂着 ssh -R ... 的终端窗口,按 Ctrl + C 强制退出,或者直接关掉该窗口。

步骤 3:清理配置文件与编辑器残留

  1. 清理 Linux 配置:在服务器执行 nano ~/.bashrc,将最顶端的那 6 行 export 代码彻底删除,保存退出。
  2. 杀掉带缓存的远端进程:在服务器终端执行 pkill -9 -f "cursor"
  3. 清理编辑器设置:在本地 Cursor 按 F1 打开 settings.json(分别检查 User 和 Remote 两个配置文件),删掉所有手写的 "http.proxy": "..." 字段。
  4. 重载窗口:在 Cursor 中按 F1 执行 Reload Window
posted @ 2026-03-17 16:40  Varuxn  阅读(34)  评论(0)    收藏  举报