-
Notifications
You must be signed in to change notification settings - Fork 2k
Description
Is your feature request related to a problem? Please describe.
We have PHP applications in our Kubernetes clusters, running with FastCGI Process Manager (FPM). We would like to expose them via Nginx Ingress Controller. However, there is currently no support for FastCGI (fCGI) proxying by the ingress controller. So we (frustratingly) have to manually spin up separate nginx Pods (next to the PHP application) as a proxy between Ingress Controller and application.
Describe the solution you'd like
We would like to have an option to define backends/upstreams as using FastCGI. This would then have Ingress Controller use module ngx_http_fastcgi_module
with fastcgi_pass
directive, instead of current module ngx_http_proxy_module
with proxy_pass
directive usage. Other relevant fCGI options/directives should be suppliable, such as setting fastcgi_index
and fastcgi_param
key-values.
Configuration would probably be implemented as a fastcgi
sub-key in the upstreams
objects. This could be a VirtualServer/VirtualServerRoute exclusive feature, to avoid Ingress annotation parsing complexity.
Describe alternatives you've considered
New functionality request, where the primary alternative (current workaround) is manually configured reverse proxy with HTTP frontend and fCGI backend. Configuration options could be managed in various ways, and I personally do not have one "best" method in mind as it's a question of how to best parse and validate it, and then have it as a switch between proxy_pass
and fastcgi_pass
.
Additional context