New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Disable URL decoding #1615
Comments
@thegayanj please update to the latest 0.9 beta version. |
Hey @aledbf - Let me try and let you know. Thank you. |
Hey @aledbf. Still experiencing the same issue. New nginx ingress config
any other suggestions? |
How do I know that this is an ingress issue
Which means ingress controller decode the URL before forwarding to scormengine pod. |
@thegayanj to avoid the decoding you can:
|
Thank you for your suggestion @aledbf. I created a custom template and I referred this example.
Now I have a new map (as above) on ingres controller config file (
Can you instruct/guide me to do that please, thank you and I really appreciate that. |
@aledbf , Okay. Here is my nginx ingress controller config file now.
And my ingress rule is
Then I ran curl - This curl command is not hitting scormengine pod, any suggestions why? |
Any updates on this? |
Nope 😐 |
@thegayanj URL decoding is disabled if you remove the rewrite annotation. There's no workaround for that (NGINX restriction) |
@aledbf You mentioned this could be fixed by having a custom template. Could you give some more info on that? What's the impact on other (already existing) ingresses? I guess with every update from the ingress controller, the custom template should be updated too then? |
Yes |
Closing. As I pointed here #1615 (comment) is not possible to do this with the rewrite annotation. |
Is this a BUG REPORT or FEATURE REQUEST?
Maybe a bug or a question.
NGINX Ingress controller version:
gcr.io/google_containers/nginx-ingress-controller:0.8.3
Kubernetes version (use
kubectl version
):1.7.2
Environment:
Kubernetes cluster on AWS. I have an ELB in front of the cluster
What happened:
I deployed scormengine inside my k8s cluster and I have an url-encoded
curl
request to scormengine service.curl -u user:pwd http://xxxxxx.com/scormengine/api/v1/default/registrations/learning-activity%3A12721%3Buser%3A91701
.I can see the correct log from nginx ingress controller. Here is the logs.
GET /scormengine/api/v1/default/registrations/learning-activity%3A12721%3Buser%3A91761/launchLink?forceReview=false
. You can see the encorded values in the in the url (learning-activity%3A12721%3Buser%3A91761).Then nginx ingress controller proxy into scormengine service accoring to the below rule.
when it comes to scormengine pod logs, what I can see is
httpMethod":"GET","url":"http://xxxxxx.com/api/v1/default/registrations/learning-activity:12721;user:91761"
So the values are decoded here. Im suspecting that nginx ingress did url decoding.
How can I disable URL decoding on nginx ingress controller ?
What you expected to happen:
I need to send the same url to scormengine without decoding it, which means I need to hit
httpMethod":"GET","url":"http://xxxxxx.com/api/v1/default/registrations/learning-activity%3A12721%3Buser%3A91761"
to scormengine pod.Anything else we need to know:
Few sections from nginx ingress controller config file
The text was updated successfully, but these errors were encountered: