You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

关于通过代理访问远程VPS本地回环地址127.0.0.1的技术咨询

通过代理访问远程VPS本地回环地址127.0.0.1的技术咨询

当然可以实现!这其实是非常常见的需求——尤其是当你需要访问VPS上仅监听127.0.0.1的服务(比如本地数据库、私有API或者后台管理界面)时,下面给你分享几种实用的方法,我平时自己也常用:

方法一:SSH本地端口转发(最推荐,简单易操作)

这是最便捷的方式,利用SSH自带的端口转发功能,把本地某个端口的请求直接映射到VPS的127.0.0.1对应服务端口。

命令格式如下:

ssh -L [本地端口]:127.0.0.1:[VPS服务端口] [VPS用户名]@[VPS公网IP]

举个实际例子:如果你的VPS上有个监听127.0.0.1:6379的Redis服务,你在本地终端执行:

ssh -L 6379:127.0.0.1:6379 root@123.123.123.123

之后你在本地访问127.0.0.1:6379,就完全等同于访问VPS上的Redis服务了。如果想让这个转发在后台运行,不用一直开着终端,只需加上-fN参数:

ssh -fNL 6379:127.0.0.1:6379 root@123.123.123.123

注意:如果遇到连接失败,记得检查VPS的SSH配置里AllowTcpForwarding是否开启(默认是开启的,但部分VPS服务商可能会禁用),以及防火墙是否放行了SSH端口。

方法二:在VPS上配置反向代理

如果你的VPS上装有Nginx、Apache这类Web服务器,可以通过配置反向代理,把公网端口的请求转发到本地回环地址的服务上。

以Nginx为例,你可以在VPS的Nginx配置文件里添加这样一个server块:

server {
    listen 8080; # 对外暴露的端口
    server_name 你的VPS公网IP;

    location / {
        proxy_pass http://127.0.0.1:3000; # 替换成VPS上服务的实际地址和端口
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

配置完成后重启Nginx,之后你在本地直接访问http://你的VPS公网IP:8080,就相当于访问VPS上127.0.0.1:3000的服务了。

不过这种方法需要注意:要在VPS的防火墙里开放你设置的对外端口(比如上面的8080),同时确保服务本身允许被反向代理访问。

方法三:搭建VPN连接(适合多服务长期访问)

如果你需要频繁访问VPS上多个本地服务,搭建一个VPN会更省心。比如WireGuard、OpenVPN这类轻量VPN,连接成功后,你的本地设备会和VPS处于同一个虚拟网络,这时候你不仅可以直接访问VPS的127.0.0.1地址,甚至能像在VPS本地一样操作所有内网服务。

这种方法的优势是一劳永逸,不用每次单独配置端口转发,但需要你在VPS上完成VPN的搭建和配置,相对前两种方法步骤多一点。


备注:内容来源于stack exchange,提问作者Flan1335

火山引擎 最新活动