-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
auth-tls-pass-certificate-to-upstream does not work for GRPC #2407
Comments
@olvesh thank you for the report. Right now we don't set headers for gRPC. I think we just need to add a helper to check if the proxy_pass directive will be grpc_pass or not and change proxy_set_header to grpc_set_header |
Sure, our fix was a hack to see if it worked, not intended as a proposal for a solution. Is there a variable available in the template to signal that an grpc_pass is active for the |
No |
I don't immediately see how much work this is, not too familiar with the ingress-nginx codebase, but I can probably take a stab at this later in the week / next week. Would be very glad for any pointers on how a solution should work though. |
I would like to find out if this was fixed? I have the same issue at the moment. Upstream is not getting my client certificate for gRPC. I tried to go through the PR and it seems like grpc_set_header should automatically work but I can't be sure. Does this mean auth-tls-pass-certificate-to-upstream should just work now? |
Is this a request for help? (If yes, you should use our troubleshooting guide and community support channels, see https://kubernetes.io/docs/tasks/debug-application-cluster/troubleshooting/.): no
What keywords did you search in NGINX Ingress controller issues before filing this one? (If you have found any duplicates, you should instead reply there.): grpc cert
Is this a BUG REPORT or FEATURE REQUEST? (choose one): Bug report
NGINX Ingress controller version: 0.13.0
Kubernetes version (use
kubectl version
): 1.8.8What happened:
I have added these annotations to my ingress:
What you expected to happen:
Using this setting I would expect the client cert to be available in the
ssl-client-cert
header in the backend.How to reproduce it (as minimally and precisely as possible):
Apply grpcbin and steps from this gist (note that you need to change hosts in the tls section of the ingress): https://gist.github.com/olvesh/033445fbbe273219be2559f23dc8c65c
Anything else we need to know:
We hacked the nginx template to include the following to make it work for us, but would like a discussion on how to properly to this (grpc_set_header are the new ones):
Using this template we got the following output:
The text was updated successfully, but these errors were encountered: