@@ -56,6 +56,7 @@ metadata:
56
56
nginx.ingress.kubernetes.io/ssl-redirect : " true"
57
57
# nginx.ingress.kubernetes.io/force-ssl-redirect: "true" # redirect even if the ingress doesn't have TLS
58
58
59
+ # =============
59
60
# Rate Limiting - mitigate DoS / brute force attacks
60
61
#
61
62
# https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#rate-limiting
@@ -65,10 +66,13 @@ metadata:
65
66
# nginx.ingress.kubernetes.io/limit-rpm: 60 # req/min
66
67
# nginx.ingress.kubernetes.io/limit-whitelist: 10.0.0.0/8,172.16.0.0/12,192.168.0.0./16
67
68
69
+ # ======================
68
70
# rewrite /APP to just /
69
71
nginx.ingress.kubernetes.io/rewrite-target : /
70
72
# nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
71
73
74
+ # ==============================
75
+ # IP Whitelisting / Blacklisting
72
76
# XXX: Edit to make available externally or apply common ingress.nginx.patch.yaml with shared IP list eg. Cloudflare
73
77
# XXX: instead of putting Cloudflare IPs in every ingress - see the ingress-nginx/base/annotations.patch.yaml to apply to all ingresses
74
78
nginx.ingress.kubernetes.io/whitelist-source-range : |
@@ -77,13 +81,24 @@ metadata:
77
81
192.168.0.0/16
78
82
# nginx.ingress.kubernetes.io/denylist-source-range: x.x.x.x/y # block known bad CIDR
79
83
84
+ # ============
80
85
# Mod Security
81
86
#
82
87
# https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#modsecurity
83
88
#
84
89
# nginx.ingress.kubernetes.io/enable-modsecurity: "true"
85
90
# nginx.ingress.kubernetes.io/enable-owasp-core-rules: "true"
86
91
92
+ # =================
93
+ # URL Path Blocking eg. Coder block SSH in open source version because enterprise version is expensive
94
+ #
95
+ # nginx.ingress.kubernetes.io/configuration-snippet: |
96
+ # location ~* /api/v2/deployment/ssh {
97
+ # deny all
98
+ # return 403
99
+ # }
100
+
101
+ # ======
87
102
# Canary
88
103
#
89
104
# https://kubernetes.github.io/ingress-nginx/examples/affinity/cookie/
@@ -97,10 +112,12 @@ metadata:
97
112
# nginx.ingress.kubernetes.io/canary-by-header: "some-header"
98
113
# nginx.ingress.kubernetes.io/canary-by-header-value: "some-value"
99
114
115
+ # ======================
100
116
# Mirror to test backend
101
117
#
102
118
# nginx.ingress.kubernetes.io/mirror-target: https://test.env.com/$request_uri
103
119
120
+ # =======
104
121
# AWS EKS
105
122
#
106
123
# https://aws.amazon.com/premiumsupport/knowledge-center/eks-configure-nginx-ingress-controller/
@@ -111,6 +128,7 @@ metadata:
111
128
# nginx.ingress.kubernetes.io/proxy-read-timeout: "120"
112
129
# nginx.ingress.kubernetes.io/proxy-send-timeout: "120"
113
130
131
+ # ============================================
114
132
# Enable OpenTracing only for this one ingress
115
133
#
116
134
# nginx.ingress.kubernetes.io/enable-opentracing: "true"
0 commit comments