NGinxとSSHを使用してローカルサービスを公開する方法
私の同僚の1つは、外部サービスにローカル実行アプリを公開する必要があります.単純な制約がありました-サービスが公開されたドメイン名は変更できません(空白でなければならないので)、そして、ドメインのサブドメインである必要があります.
彼らはすでに開発者のためのいくつかの仮想マシンが外部IPアドレスとSSHのアクセスを実行している.私はこのタスクを解決するためにそれらを使用して提案している-以下に適用することができるソリューションを見つけることができます.
何が必要でしょう. LinuxとNGINXを使った公開サーバ(外部IP ) nginx設定( sudo/root )を変更するユーザとパーミッション サーバのSSHアクセス ドメイン名、例えば の設定から始めましょう
この設定を有効にするには、この設定を
さて、SSHトンネルの電源で、リモートサーバー上の8080ポートをローカルマシン上のポートを指すようにします.
ローカルサービスを公開するには、以下のコマンドを使います.
$PortRange OnRankサーバはサーバ上で要求するポートです. $LocalLum port -何かが動いているdevマシンのローカルポート. $ログインと$ serverは、プロキシを走らせているサーバーのユーザ名とアドレスです. ユーザ名が
彼らはすでに開発者のためのいくつかの仮想マシンが外部IPアドレスとSSHのアクセスを実行している.私はこのタスクを解決するためにそれらを使用して提案している-以下に適用することができるソリューションを見つけることができます.
何が必要でしょう.
some.domain.tld
- サーバーの外部IPを指す./etc/nginx/sites-available/some.domain.tld
書き込み:server {
listen 80;
listen [::]:80;
gzip on;
server_name some.domain.tld;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
proxy_set_header Host 127.0.0.1;
proxy_set_header X-Original-Host $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-Proto $scheme;
}
}
この設定は、some.domain.tld
サーバのローカルポート8080に.この設定を有効にするには、この設定を
sites-enabled
コマンドを使うディレクトリln -s /etc/nginx/sites-available/some.domain.tld /etc/nginx/sites-enabled/some.domain.tld
nginxを再起動します.systemctl restart nginx
. 現在ドメイン下some.domain.tld
訪問者は、メッセージ“悪いゲートウェイ”とエラーページが表示されます-すべての8080ポートがないためです.さて、SSHトンネルの電源で、リモートサーバー上の8080ポートをローカルマシン上のポートを指すようにします.
ローカルサービスを公開するには、以下のコマンドを使います.
ssh -N -R $PORT_ON_SERVER:localhost:$LOCAL_PORT $LOGIN@$SERVER
ここでalice
, サーバはsome.domain.tld
ドメインとローカルサービスはポート4502の下で利用可能です.ssh -N -R 8080:localhost:4502 [email protected]
そして、それはすべてです-ブラウザでドメインを開いた後に、我々は我々のローカルサービスを見ます.そして、インターネット上の誰もそれを表示することができますので、気を付けろ!Reference
この問題について(NGinxとSSHを使用してローカルサービスを公開する方法), 我々は、より多くの情報をここで見つけました https://dev.to/elwin013/how-to-expose-local-service-using-nginx-and-ssh-1jmjテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol