hourglassMore than 4 year has passed since last update.
送信元アドレスを許可する(ホワイトリスト形式)
- 許可するIPアドレスを用意する
- アドレスが複数ある場合はカンマ区切りにする
- ingress に
nginx.ingress.kubernetes.io/whitelist-source-range
annotation を設定する(参考 external_link)
設定例$ kubectl edit growi-app-2 apiVersion: extensions/v1beta1 kind: Ingress metadata: annotations: ... nginx.ingress.kubernetes.io/whitelist-source-range: 192.0.2.0/24,198.51.100.1,198.51.100.2,198.51.100.3,... ...
反映後の nginx.conf
$ kubectl -n nginx-ingress exec ds/nginx-ingress-controller -- cat /etc/nginx/nginx.conf | less ... allow 198.51.100.1; allow 198.51.100.10; allow 198.51.100.100; allow 198.51.100.101; allow 198.51.100.102; allow 198.51.100.103; allow 198.51.100.104; allow 198.51.100.105; allow 198.51.100.106; allow 198.51.100.107; allow 198.51.100.108; allow 198.51.100.109; ...
- 反映した Ingress の location に対して、allow が反映されていることが確認できた
- 1024 個程度では問題ないことを確認できた
フィルタ時の挙動
- 許可されているアドレスからのアクセスは、通常どおり表示される
- 許可されていないアドレスからのアクセスは、nginx のベーシックな 403 画面が表示される
便利情報
- アドレス作成方法TIPS
$ docker run ruby:2.7-alpine ruby -e "require 'ipaddr'; ip = IPAddr.new('192.0.2.0/24').to_i; puts 1024.times.map { |i| IPAddr.new(ip + i, Socket::AF_INET).to_s }.join(',')"
1024
のところを任意の数字に変えることで、アドレス生成数を調整可能
Commments