Can I Use Custom Server Blocks with the NGINX Ingress Controller?
Asked by
CloudySky24
I'm trying to get a better understanding of how flexible the NGINX Ingress Controller is when it comes to modifying the underlying NGINX configuration. Specifically, I want to know if I can use files from "/etc/nginx/sites-available" or incorporate complete `server {}` blocks within the controller. From what I've gathered, the ingress-nginx controller generates its configuration dynamically and doesn't follow the traditional `sites-available` or `sites-enabled` structure. However, I've seen some references where custom NGINX configs included full server blocks, which had settings like `listen 443 ssl`, SSL certificates from "/etc/letsencrypt", and various `proxy_pass` directives. Before I dive deeper into troubleshooting, I just want to confirm a few things:
- Is loading configurations from "/etc/nginx/sites-available" an option for the ingress controller?
- Can I use standalone `server {}` blocks in this context?
- Or do I need to stick to using snippets and annotations for customizing NGINX's behavior? Any insights would be greatly appreciated!
Answers
Just a heads-up, the project might not be actively maintained anymore. It's better to consider other options going forward, like Traefik, instead of building new systems on it.
Reply to this answer
You can't really use files like "/etc/nginx/sites-available" with the ingress controller. It's designed to work with annotations in the ingress resource instead. Also, the NGINX instances the controller manages are more like reverse proxies, not traditional web servers that would read from those config files.
Reply to this answer
Add your answer
Answers are reviewed before publication.
Related Discussions