ダッシュで奪取

ゲーム、読書、人生

nginxのアクセス制限を試す

環境
  • Debian GNU/Linux12 (bookworm)
  • nginx 1.25.1
前提
  • 関係のない設定項目は記載していません

やりたいこと

  • 特定の IP アドレスからでしかアクセスできないようにしたい

設定方法

  • 許可する場合は allow <許可するIPアドレス>;
  • 拒否する場合は deny <拒否するIPアドレス>;
    • http, server にも書けそう
    • とりあえず location 内に書いておいた

特定の IP アドレスのみ拒否

# xxx.xxx.xxx.xxxとyyy.yyy.yyy.yyyを拒否
# それ以外は許可
location / {
    deny xxx.xxx.xxx.xxx;
    deny yyy.yyy.yyy.yyy;
    allow all;
}

特定の IP アドレスのみ許可

# xxx.xxx.xxx.xxxとyyy.yyy.yyy.yyyを許可
# それ以外は拒否
location / {
    allow xxx.xxx.xxx.xxx;
    allow yyy.yyy.yyy.yyy;
    deny all;
}

設定の反映

$ sudo service nginx reload

確認

  • 自宅の IP アドレスのみを許可するよう設定して試してみた
    • PC から ... アクセスできる OK
    • Wi-Fi から切断して、5G 接続になった(=自宅 IP でなくなった)スマホ ... アクセスできない OK

参考

おわりに

  • 自分の用途だと「特定の IP アドレスのみ許可」の方を使うことになりそう