Comments (5)
This issue is currently awaiting triage.
If Ingress contributors determines this is a relevant issue, they will accept it by applying the triage/accepted
label and provide further guidance.
The triage/accepted
label can be added by org members by writing /triage accepted
in a comment.
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.
from ingress-nginx.
/remove-kind bug
@gogojlb its possible that your issue-description is too cryptic and succint
- if you can help and assume readers may not know all details, kindly try and begin with stating if this https://kubernetes.github.io/ingress-nginx/user-guide/fcgi-services/ works for you or not. The key aspect being the pod in the deployment runs a fpm process listening on port 9000 and that is exposed via a ingress. Relevance being your example yaml is using a nginx:blah image which is a plain old nginx webserver and not a image that contains fpm and hence does not run a fpm process
- if the example in the link above works and a second deployment by you consumes that ingress hostname as the fpm upstream (for some php files in that second deployment) then it fits the example of a typical cgi offload to php-fpm
I am not a developer so I do not understand the use case of a HTTPS variable in the configMap but I was hoping to reproduce and actually understand the reproduced problem in the context of knowing ;
- where my webserver is
- where the php files are
- what and where the fpm server is
- how my webserver is configured to use & consume the fpm server for which I have created a ingress as per example in docs
Reason being first we deprecated fpm support, after a survey that supported deprecation decision. Then someone said they use it & want it so we reverted and got confirmation that fcgi for fpm feature was working. And this issue is a report that something is wrong with that feature. Now there are not too many resources available to look into this so the simplification of the issue description actually goes a long way in triaging
/triage needs-information
from ingress-nginx.
/assign
from ingress-nginx.
Hi @longwuyuan , thanks for your attention to this issue and sorry for the confusion. Let me clarify it a bit.
it is not the fcgi functionality itself that is at issue here, but just ingress/configmap objects validation.
I'm assuming that ingress-nginx supports the same set of fcgi parameters as plain nginx.
In that case, while parameter values specified with if_not_empty
are valid from nginx/ngx_http_fastcgi_module perspective, they are not valid from nginx-ingress perspective due strict validation regex that doesn't allow a space.
err="fcgi contains invalid key or value" configmap="test-fcgi" namespace="test-fcgi" key="HTTPS" value="$https if_not_empty"
If my assumptions are correct, I can also hypothesize that the problem can be solved by modifying the regexp to e.g. ^[A-Za-z0-9\-\_\$\{\}/.]*( if_not_empty){0,1}$
.
using a nginx:blah image which is a plain old nginx
It is just a dummy nginx deployment to provide target for the ingress/service.
from ingress-nginx.
Ah thanks for the clarification. Helps a lot.
I am not a developer so cant say for sure but I think the fcgi parameters will have been implemented in go or lua and thus less likely that all the parameters would be honored in a confgMap (specially one with a space). I will check to what limit I can but please don't wait for me.
Hoping someone else will have more helpful comments.
from ingress-nginx.
Related Issues (20)
- Tag controller-1.10.0 is pointing to 1.9.6 HOT 7
- Remove deprecated & unsupported components related content from docs HOT 9
- How to protect the private keys stored in nginx ingress controller HOT 2
- OpenTelemetry reported "unknown variable" before first Ingress HOT 5
- Remove old ingress-rules metrics for prometheus scraping HOT 4
- NetworkPolicies are missing from static deployment YAMLs HOT 14
- Bug: Helm chart doesn't have replicas exposed HOT 3
- ArgoCD installation results in "Failed to unmarshal "values.yaml": <nil>" HOT 4
- TLS certificate lookup fails for server aliases unless specified host is loaded at least once HOT 5
- helm chart: upgrade with the same value (ipFamilyPolicy=RequireDualStack) not possible HOT 13
- Could not disable Opentelemetry. HOT 2
- location priority with rewrite-target HOT 7
- Updating GeoIP2 data outputs many logs of "File changed detected. Reloading NGINX" HOT 1
- All ingress controllers restart at the same time on configuration change HOT 7
- Any version upgrade sets allow-snippet-annotations to false even if upgrading from > 1.9.0 HOT 10
- canary doesn't work HOT 8
- Getting unknown directive "root" when trying to add configuration to serve content from specific directory HOT 5
- Load balancer IP cleared from all ingresses when upgrading nginx-ingress-controller HOT 7
- Error retrieving resource lock ingress-nginx/ingress-controller-leader HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ingress-nginx.