I have a kubernetes cluster and nginx ingress.Requests are coming from cloudflare to this ingress.Can i restrict access to ingress by x-forwarded-for header ? For example my ip is 1.1.1.1 and cloudlare 2.2.2.2 .When i make request over cloudflare , cloudflare set x-forwarded-for header to : 1.1.1.1 . I want to restrict access to my ingress if x-forwarded-for header rather than 1.1.1.1
I added this annotation to ingress and it is working now!
nginx.ingress.kubernetes.io/server-snippet
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: services-ingress
annotations:
nginx.ingress.kubernetes.io/server-snippet: |
if ($http_x_forwarded_for != "<my-ip-address>") {
return 301 https://<redirect-address>;
}
spec:
rules:
- host: <my-host>
http:
paths:
- path: /<my-path>
backend:
serviceName: <my-service>
servicePort: 80