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