nginxでIP直叩きでのアクセスを禁止する

nginx nginx

nginxをインストールしてそのままの状態ではドメインでもIPアドレスでもアクセスすることができます。特にまだサービスとして公開しているわけでもないのに、よくわからない国からのアクセスがログに残っていることがあります。何かよからぬことをされる前にIPでのアクセスを禁止しておきましょう。

方法

具体的には以下のようなserverブロックを既存のserverブロックの下に追記するやり方が簡単です。

server {
    listen       80  default_server;
    server_name  0.0.0.0;
    return       444;
}

server_nameの0.0.0.0の部分が自身のIPアドレスにあたります。

余談:ステータスコード444

nginxでは独自のステータスコード『444』があり、特別な意味を持っています。
444が返されるとコネクションを切断するのでクライアントには何も返ってきません。
例えば、IP制限を行ったとしても403などのステータスが返ってきますが、444だとそういうものもありません。

タイトルとURLをコピーしました