如何将我的本地主机转发到我的 VPS 的 IP 地址?

如何将我的本地主机转发到我的 VPS 的 IP 地址?

我正在我的 VPS 上运行本地主机服务。

当我启动该服务时,我得到的结果如下:

Navigate to https://127.0.0.1:7443 in a browser

问题在于我无法在浏览器中打开它,因为它是一个 VPS。

我尝试运行 ngrok,但它说连接本地主机失败。

有没有办法可以将其转发到本地主机正在运行的同一 VPS 的 IP 地址?例如,我打开浏览器并输入我的服务器 IP?

答案1

您是否已经尝试使用 VPS 的 IP 而不是使用本地主机来访问端口,因为某些应用程序在控制台中说转到本地主机但在所有接口上监听。

另一种方法是,如果服务仅在本地主机上监听,并且您可以通过 ssh 访问 VPS,那么您可以将 VPS 的本地主机端口转发到本地计算机。

ssh user@vpsIP -L 7443:localhost:7443

-L 的解释[LOCAL_IP:]LOCAL_PORT:DESTINATION:DESTINATION_PORT 第一个方括号是可选的,如果你想指定在你的机器上监听的位置,默认是所有接口

答案2

启动监听远程地址的Web服务器,并通过互联网进行访问。

阅读相关 Web 服务器的文档以了解如何执行此操作。最好使用已知 Web 服务器进行生产部署。可以在中间插入负载平衡器或其他实用程序代理。

用于开发目的的玩具服务器不够坚固,性能也不够好,无法用于运营。并且可能仅监听环回地址。

也为这个东西取一个域名。用一个名字更容易颁发 TLS 证书,也更容易让人记住。

答案3

可以通过代理来安排。我有一个 WireGuard,它有参与者的内部 IP 地址。让我们以连接 VPN 的服务器为例,IP 地址为:10.8.0.2(内部 IP 地址)VPN IP 地址:10.8.0.2

您需要在您的 vps 上安装一个可以创建本地网络的 vpn。我有 wireguard。然后将 nginx 设置为代理。安装后,打开浏览器并输入您的 vps 的 IP 地址。如果 nginx 问候语打开。这很好。它应该像这样工作:请求到达 vps,nginx 处理它并通过 vpn(WireGuard)将信息发送到连接的服务器,等待响应并将其发送回发送请求的人。

还剩下要修复配置。

vpn nginx 配置 在此处输入代码

 server {
    client_body_timeout 5s;
    client_header_timeout 5s;
    listen       80; #port
    server_name  2.16.136.1;# domen/ip vpn

    add_header Access-Control-Allow-Origin *;
    location / {
              #limit_conn addr 3;
               limit_rate 71680k;
                 #if ($http_cookie ~* ".+" ) {
                #set $cookie_cache_bypass 1;
                #}
                proxy_pass http://10.8.0.2:5000;
                
                proxy_read_timeout      300;
                proxy_connect_timeout   300;
                proxy_redirect          off;
                proxy_set_header        X-Forwarded-Proto https;
                proxy_set_header        Host              $http_host;
                proxy_set_header        X-Real-IP         $remote_addr;
                proxy_set_header        X-Forwarded-For   
                $proxy_add_x_forwarded_for;
                proxy_set_header        X-Forwarded-Ssl   on;
                proxy_set_header        X-Frame-Options   SAMEORIGIN;
                
                proxy_cache all;
                proxy_cache_valid 404 502 503 20m;
                proxy_cache_valid any 2h;
                proxy_cache_use_stale error timeout invalid_header updating;
    
    
    
                gzip on;
                gzip_disable "msie6";
    
                gzip_vary on;
                #gzip_proxied any;
                gzip_comp_level 5;
                gzip_min_length 2240;
                gzip_proxied expired no-cache no-store private auth;
                gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript application/vnd.ms-fontobject application/x-font-ttf font/opentype image/svg+xml image/x-icon;
                
            }
}

PS:如果有任何配置错误,请见谅。

答案4

例如,您可以安装 nginx 代理管理器。

您可以在那里添加一个域或您的公共 IP 地址,然后转发到https://127.0.0.1:7443您可以使用您的公共 IP 地址访问该主机。

相关内容