I know it is possible to enable Proxy protocol for Ingress (also by service annotation): service.beta.kubernetes.io/do-loadbalancer-enable-proxy-protocol: “true”
That works great with Proxy aware services like my web applications running on port 80 (http) and 443 (https)
However, for services like SQL Server running on tcp port 1433, connecting to that service works when proxy protocol is disabled, and doesn’t work when proxy protocol is enabled.
Is there a way to enable and disable Ingress Proxy for individual ports, e.g. to be enabled for ports 80/433 and to be disabled for other tcp ports (e.g. port 1433)?
My only solution now is to have two-ingress-services and two official IP-addresses and that will of course also cost the double a month.
Here is how I setup Ingress using helm chart:
helm install ingress-nginx --namespace ingress-nginx stable/nginx-ingress -f nginx-ingress-controller-config.yaml
controller: config: use-forwarded-headers: "true" compute-full-forwarded-for: "true" use-proxy-protocol: "true" service: annotations: service.beta.kubernetes.io/do-loadbalancer-enable-proxy-protocol: "true" nodePorts: tcp: 1433: 32496 # Any random port 30000-32767 tcp: 1433: "sqlserver/mssql:1433" #namespace/service-name:port
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.
Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in Q&A, subscribe to topics of interest, and get courses and tools that will help you grow as a developer and scale your project or business.
Click below to sign up and get $100 of credit to try our products over 60 days!