
以下の提案はすでに試しました:
Nginx リバース プロキシ リダイレクトでポートを非表示にする
しかし、それは私にとって役に立ちません。
私はdjango+gunicornアプリケーション用にnginxリバースプロキシを実行し、ポート8000で開いています。マシン名に次のようにアクセスできます。http://some_machine:8000アプリが動作しているのを確認します。Nginxリバースプロキシを使用して、そのマシンで実行されているlocalhostをマシン名にマッピングしました。ポートを非表示にし、URLに次のようなものを含めます。http://some_machine/zmkの代わりにhttp://some_machine:8000/zmk。
以下のコンテンツをフォルダーに書き込みます/etc/nginx/conf.d
:
upstream zms {
ip_hash;
server zms:8000;
}
# portal
server {
location /zmk {
proxy_pass http://zms/;
# proxy_redirect http://some-machine:8000/ http://some-machine/zmk;
port_in_redirect off;
# autoindex on;
proxy_set_header Host $host:$server_port;
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;
}
listen 8000;
server_name localhost
server_name_in_redirect off;
}
何が間違っているのか分かりません。上記のコンテンツを/etc/nginx/site-available
フォルダーにコピーすることも試みました。
答え1
listen
代わりにステートメントを に変更しますlisten 80
。これにより、nginx サーバーはポート 80 でリッスンし、トラフィックをポート 8000 にプロキシします。