-
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
Getting ingress controller fake certificate in ssl-passthrough mode #12897
Comments
This issue is currently awaiting triage. If Ingress contributors determines this is a relevant issue, they will accept it by applying the The 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-sigs/prow repository. |
show the curl request and the response with flags -iv. if you answer the questions asked in a new issue template, then the readers can have data to analyze and base comments on. |
I noticed a mis-configuration. Sorry for the noise! |
Actually it still doesn't work. curl request and response with flags -iv
|
@feiluo-db you will still get only guess based comments. You showed the curl command and output. But unless yo ushow the
In the post above, you are sending request to a host different from the one sen in the ingress yaml so the data you sent is useless for analysis. |
@longwuyuan Yeah the Here are the actual outputs: k describe svc cci-ingress-controller-service
k describe svc runbot-fei-luo-new-8-ci-shard-internal-ext
k describe ing runbot-fei-luo-new-8-ci-shard-ingress
|
There are 2 problems. First change your ingress annotations as per this
example
https://argo-cd.readthedocs.io/en/stable/operator-manual/ingress/#kubernetesingress-nginx.
Second prove that your jenkins server is using a certificate with well
known CA. But also important to note is that you are using a unsupported
version of the controller. It will work but we don't support that old
version so upgrade to latest and test.
…On Wed, 26 Feb, 2025, 10:51 Fei Luo, ***@***.***> wrote:
@longwuyuan <https://github.com/longwuyuan> Yeah the my-test names are
fake names I made up for simplicity.
Here are the actual outputs:
*k describe svc cci-ingress-controller-service*
Name: cci-ingress-controller-service
Namespace: jenkins-build
Labels: app.kubernetes.io/component=controller
app.kubernetes.io/instance=ingress-nginx
app.kubernetes.io/name=ingress-nginx
app.kubernetes.io/part-of=ingress-nginx
app.kubernetes.io/version=0.41.0
Annotations:
service.beta.kubernetes.io/aws-load-balancer-type: elb
Selector: app.kubernetes.io/component=controller,app.kubernetes.io/instance=ingress-nginx,app.kubernetes.io/name=ingress-nginx,app=cci-ingress-controller
Type: LoadBalancer
IP Family Policy: SingleStack
IP Families: IPv4
IP: 10.3.203.29
IPs: 10.3.203.29
LoadBalancer Ingress: a70fe2029834541878f29b5f25767d0f-557761935.us-west-2.elb.amazonaws.com
Port: metrics 10254/TCP
TargetPort: 10254/TCP
NodePort: metrics 31293/TCP
Endpoints: 10.6.23.194:10254
Port: http 80/TCP
TargetPort: 80/TCP
NodePort: http 32145/TCP
Endpoints: 10.6.23.194:80
Port: https 443/TCP
TargetPort: https/TCP
NodePort: https 32003/TCP
Endpoints: 10.6.23.194:443
Session Affinity: None
External Traffic Policy: Local
HealthCheck NodePort: 31511
*k describe svc runbot-fei-luo-new-8-ci-shard-internal-ext*
Name: runbot-fei-luo-new-8-ci-shard-internal-ext
Namespace: jenkins-build
Labels: <none>
Annotations: databricks/last_modified_by: fei.luo
Selector: app=runbot-fei-luo-new-8-ci-shard
Type: ClusterIP
IP Family Policy: SingleStack
IP Families: IPv4
IP: 10.3.158.7
IPs: 10.3.158.7
Port: runbot-port-ingress 8443/TCP
TargetPort: 8443/TCP
Endpoints: 10.6.16.174:8443
Session Affinity: None
Events: <none>
*k describe ing runbot-fei-luo-new-8-ci-shard-ingress*
Name: runbot-fei-luo-new-8-ci-shard-ingress
Labels: <none>
Namespace: jenkins-build
Address:
Default backend: default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
Rules:
Host Path Backends
---- ---- --------
runbot-fei-luo-new-8-ci-shard.dev.databricks.com
/ runbot-fei-luo-new-8-ci-shard-internal-ext:8443 (10.6.16.174:8443)
Annotations: kubernetes.io/ingress.class: ci-shard-nginx
nginx.ingress.kubernetes.io/backend-protocol: HTTPS
nginx.ingress.kubernetes.io/ssl-passthrough: true
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Sync 4m30s nginx-ingress-controller Scheduled for sync
Normal Sync 4m28s nginx-ingress-controller Scheduled for sync
—
Reply to this email directly, view it on GitHub
<#12897 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABGZVWRX6D5KFAUYHSPJRD32RVFL3AVCNFSM6AAAAABXZEZENOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDMOBTHEZDINZRGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
[image: feiluo-db]*feiluo-db* left a comment
(kubernetes/ingress-nginx#12897)
<#12897 (comment)>
@longwuyuan <https://github.com/longwuyuan> Yeah the my-test names are
fake names I made up for simplicity.
Here are the actual outputs:
*k describe svc cci-ingress-controller-service*
Name: cci-ingress-controller-service
Namespace: jenkins-build
Labels: app.kubernetes.io/component=controller
app.kubernetes.io/instance=ingress-nginx
app.kubernetes.io/name=ingress-nginx
app.kubernetes.io/part-of=ingress-nginx
app.kubernetes.io/version=0.41.0
Annotations:
service.beta.kubernetes.io/aws-load-balancer-type: elb
Selector: app.kubernetes.io/component=controller,app.kubernetes.io/instance=ingress-nginx,app.kubernetes.io/name=ingress-nginx,app=cci-ingress-controller
Type: LoadBalancer
IP Family Policy: SingleStack
IP Families: IPv4
IP: 10.3.203.29
IPs: 10.3.203.29
LoadBalancer Ingress: a70fe2029834541878f29b5f25767d0f-557761935.us-west-2.elb.amazonaws.com
Port: metrics 10254/TCP
TargetPort: 10254/TCP
NodePort: metrics 31293/TCP
Endpoints: 10.6.23.194:10254
Port: http 80/TCP
TargetPort: 80/TCP
NodePort: http 32145/TCP
Endpoints: 10.6.23.194:80
Port: https 443/TCP
TargetPort: https/TCP
NodePort: https 32003/TCP
Endpoints: 10.6.23.194:443
Session Affinity: None
External Traffic Policy: Local
HealthCheck NodePort: 31511
*k describe svc runbot-fei-luo-new-8-ci-shard-internal-ext*
Name: runbot-fei-luo-new-8-ci-shard-internal-ext
Namespace: jenkins-build
Labels: <none>
Annotations: databricks/last_modified_by: fei.luo
Selector: app=runbot-fei-luo-new-8-ci-shard
Type: ClusterIP
IP Family Policy: SingleStack
IP Families: IPv4
IP: 10.3.158.7
IPs: 10.3.158.7
Port: runbot-port-ingress 8443/TCP
TargetPort: 8443/TCP
Endpoints: 10.6.16.174:8443
Session Affinity: None
Events: <none>
*k describe ing runbot-fei-luo-new-8-ci-shard-ingress*
Name: runbot-fei-luo-new-8-ci-shard-ingress
Labels: <none>
Namespace: jenkins-build
Address:
Default backend: default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
Rules:
Host Path Backends
---- ---- --------
runbot-fei-luo-new-8-ci-shard.dev.databricks.com
/ runbot-fei-luo-new-8-ci-shard-internal-ext:8443 (10.6.16.174:8443)
Annotations: kubernetes.io/ingress.class: ci-shard-nginx
nginx.ingress.kubernetes.io/backend-protocol: HTTPS
nginx.ingress.kubernetes.io/ssl-passthrough: true
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Sync 4m30s nginx-ingress-controller Scheduled for sync
Normal Sync 4m28s nginx-ingress-controller Scheduled for sync
—
Reply to this email directly, view it on GitHub
<#12897 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABGZVWRX6D5KFAUYHSPJRD32RVFL3AVCNFSM6AAAAABXZEZENOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDMOBTHEZDINZRGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Thanks. Yes I did follow https://argo-cd.readthedocs.io/en/stable/operator-manual/ingress/#kubernetesingress-nginx to add the annotations to the ingress resource. It didn't work if I remember correctly. I can try that again but likely it won't solve the issue. Secondly, I curl'ed the service cluster IP from within the same cluster to make sure the server certificate is valid. I did get the right server certificate which has DigiCert as root CA in the chain. I think the ingress controller image we're using is v-1.3.1. I can try to upgrade to a newer version, but again I don't think it is the root cause as I think ssl-passthrough should be well supported even before that version. |
Then share screen on zoom and show me the data. Ssl-passthrough feature is
currently in use without problems by me and many many other users
…On Wed, 26 Feb, 2025, 11:18 Fei Luo, ***@***.***> wrote:
Thanks. Yes I did follow
https://argo-cd.readthedocs.io/en/stable/operator-manual/ingress/#kubernetesingress-nginx
to add the annotations to the ingress resource. It didn't work if I
remember correctly. I can try that again but likely it won't solve the
issue.
Secondly, I curl'ed the service cluster IP from within the same cluster to
make sure the server certificate is valid. I did get the right server
certificate which has DigiCert as root CA in the chain.
I think the ingress controller image we're using is v-1.3.1. I can try to
upgrade to a newer version, but again I don't think it is the root cause as
I think ssl-passthrough should be well supported even before that version.
—
Reply to this email directly, view it on GitHub
<#12897 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABGZVWRQ7ZNHP46SPZFXH5L2RVITHAVCNFSM6AAAAABXZEZENOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDMOBTHE3DCNJRGU>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
[image: feiluo-db]*feiluo-db* left a comment
(kubernetes/ingress-nginx#12897)
<#12897 (comment)>
Thanks. Yes I did follow
https://argo-cd.readthedocs.io/en/stable/operator-manual/ingress/#kubernetesingress-nginx
to add the annotations to the ingress resource. It didn't work if I
remember correctly. I can try that again but likely it won't solve the
issue.
Secondly, I curl'ed the service cluster IP from within the same cluster to
make sure the server certificate is valid. I did get the right server
certificate which has DigiCert as root CA in the chain.
I think the ingress controller image we're using is v-1.3.1. I can try to
upgrade to a newer version, but again I don't think it is the root cause as
I think ssl-passthrough should be well supported even before that version.
—
Reply to this email directly, view it on GitHub
<#12897 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABGZVWRQ7ZNHP46SPZFXH5L2RVITHAVCNFSM6AAAAABXZEZENOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDMOBTHE3DCNJRGU>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Important points to note are as follows.
Not using these 2 annotations only and using backend-protocol annotation is INVALID test
|
I deployed the ingress controller with
--enable-ssl-passthrough
flag on. Verified in thenginx.conf
file that it is indeed turned on.Ingress controller is started with
--ingress-class=my-test-nginx
to match the ingress class annotation on Ingress resource.On my ingress resource annotation, I added
"nginx.ingress.kubernetes.io/ssl-passthrough": "true"
The full configuration looks like the following
My ingress controller is deployed on AWS as a AWS ELB. No TLS cert is configured on the listener of ELB as it shouldn't terminate TLS.
Any advice on how to further debug this would be very much appreciated!
The text was updated successfully, but these errors were encountered: