送信元アドレスを許可する(ホワイトリスト形式)
- 許可する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 画面が表示される

便利情報