概要
前回 nginx に証明書を設置して SSL を有効にしました
今回は nginx にアクセスする IP を制限したかったので試してみました
環境
- Ubuntu 16.04
- nginx 1.10.3
設定ファイル編集
前回の設定から以下のように編集します
- vim /etc/nginx/sites-available/ssl
server {
allow 192.168.100.110;
deny all;
listen 443;
server_name your.site.domain.com;
ssl on;
ssl_certificate /etc/ssl/certs/chain_server.crt;
ssl_certificate_key /etc/ssl/certs/server.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://localhost:9292/;
proxy_redirect default;
}
}
追記しているのは先頭の allow と deny の部分です
これだけで IP 制御ができます
今回は IP を直書きしていますが CIDR 形式でも記載することができます
設定を反映するには nginx を再起動します
- systemctl restart nginx
上記の設定の場合 192.168.100.104 だけを許可していてそれ以外はすべて拒否する設定になります
先に deny を書いてしまうとすべて拒否して終了になってしまうので先に allow を記載するようにしてください
deny された場合には nginx が用意しているデフォルトの HTML が返却されます
<html>
<head><title>403 Forbidden</title></head>
<body bgcolor="white">
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx</center>
</body>
</html>
最後に
nginx に IP 制限をしてみました
このあたりの設定方法は Web 上にゴロゴロ転がっていると思います
このままだとデフォルトの HTML が返却されてしまうので次回はレスポンスをカスタマイズしてみたいと思います
0 件のコメント:
コメントを投稿