我正在我的 VPS 上運行本地主機服務。
當我啟動服務時,這就是我得到的:
Navigate to https://127.0.0.1:7443 in a browser
問題是我無法在瀏覽器中打開它,因為它是 VPS。
我嘗試運行 ngrok,但它說連接到本地主機失敗。
有沒有辦法將其轉送到本機正在執行的相同 VPS 的 IP 位址?例如我打開瀏覽器並輸入我的伺服器IP?
答案1
您是否已經嘗試使用 VPS 的 IP 而不是使用 localhost 存取端口,因為某些應用程式在控制台中說轉到 localhost 但偵聽所有接口。
另一種選擇是,如果該服務僅偵聽 localhost 並且您可以透過 ssh 存取 VPS,則可以將 VPS 的 localhost 連接埠轉送至本機。
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。我有電線保護器。然後將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 位址存取該主機。