ローカルホストを VPS の IP アドレスに転送するにはどうすればよいですか?

ローカルホストを VPS の IP アドレスに転送するにはどうすればよいですか?

VPS 上で localhost サービスを実行しています。

サービスを開始すると、次のようになります:

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

これの問題は、VPS なのでブラウザで開けないことです。

ngrok を実行しようとしましたが、localhost への接続に失敗したと表示されます。

ローカルホストが実行している同じ VPS の IP アドレスに転送する方法はありますか? たとえば、ブラウザを開いてサーバーの IP を入力しますか?

答え1

一部のアプリケーションがコンソールに「localhost にアクセスするが、すべてのインターフェースでリッスンする」と表示したため、localhost を使用するのではなく、VPS の IP を使用してポートにアクセスしようとしましたか。

別の方法として、サービスがローカルホストのみをリッスンし、VPS への SSH アクセス権がある場合は、VPS のローカルホスト ポートをローカル マシンにポート転送できます。

ssh user@vpsIP -L 7443:localhost:7443

-Lの説明[LOCAL_IP:]LOCAL_PORT:DESTINATION:DESTINATION_PORT 最初の角括弧は、マシン上でリッスンする場所を指定する場合にオプションです。デフォルトはすべてのインターフェースです。

答え2

リモート アドレスをリッスンする Web サーバーを起動し、インターネット経由でアクセスします。

方法については、問題の Web サーバーのドキュメントをお読みください。既知の Web サーバーを使用した実稼働展開シナリオを優先します。中間にロード バランサーまたはその他のユーティリティ プロキシを挿入することもできます。

開発目的のおもちゃサーバーは、運用に使用するには強化されておらず、パフォーマンスも十分ではありません。また、ループバック アドレスのみをリッスンする可能性があります。

これにもドメイン名を取得してください。名前に対して TLS 証明書を発行するのが簡単になり、人間にとっても覚えやすくなります。

答え3

プロキシ経由でこれを手配することは可能です。参加者の内部IPアドレスを持つWireGuardを持っています。IPアドレス10.8.0.2(内部IPアドレス)VPN IPアドレス10.8.0.2でVPNに接続したサーバーの例を見てみましょう。

VPS にローカル ネットワークを作成する VPN をインストールする必要があります。私は Wireguard を使用しています。次に、nginx をプロキシとして設定します。インストールしたら、ブラウザーを開いて VPS の IP アドレスを入力します。nginx のグリーティングが開いたら、これで問題ありません。次のように動作するはずです。リクエストが VPS に届き、nginx がそれを処理し、接続されたサーバーに VPN (WireGuard) 経由で情報を送信し、応答を待ってからリクエストの送信者に応答を返します。

設定を修正する必要があります。

vpn nginx config ここにコードを入力してください

 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 アドレスを使用してこのホストにアクセスできるようになります。

関連情報