web-dev-qa-db-ja.com

nginxがserver_name:portをリッスンする方法

私のnginx confファイルには、次のものがあります:

  listen       80;
    server_name  $hostname;

ただし、netstatを実行すると、0.0.0.0:80でリッスンしていることがわかります。

私がしたいことは、$ hostname:80をリッスンするnginxですか、それを行うように設定する方法はありますか?

これまでのところ、さまざまな設定を試しましたが成功しませんでした。あなたの助けに感謝。

37
Serenade

server_nameドキュメント ディレクティブは仮想ホストを識別するために使用され、バインディングの設定には使用されません。

netstatは、nginxが0.0.0.0:80これは、あらゆるIPからの接続を受け入れることを意味します。

IP nginxのバインドを変更する場合は、listenを変更する必要がありますドキュメント ルール。
したがって、nginxをlocalhostにバインドするように設定する場合は、次のように変更します。

listen 127.0.0.1:80;

このようにして、localhostから来ていない要求は破棄されます(nginxにヒットすることさえありません)。