我正在我的 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 地址访问该主机。