-
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
Not listening on 443 with dynamic certificates enabled #3910
Comments
@jbotelho2-bb this is super strange, |
@jbotelho2-bb and the logs from the ingress-nginx pod |
This is the ConfigMap: apiVersion: v1
kind: ConfigMap
metadata:
name: nginx-ingress-config
namespace: my-addons
data:
enable-vts-status: "true"
hsts: "false"
proxy-read-timeout: "120"
server-name-hash-bucket-size: "128"
server-name-hash-max-size: "1024"
ssl-redirect: "false" I'm having a hard time reproducing this on our smaller test cluster, so I've had to take snippets from our log and config on one of our larger clusters instead of posting the entire thing: Log:
Generated nginx.conf (most ingresses/servers removed):
I tried the same setup on a smaller cluster, and noticed it does have a
|
@jbotelho2-bb the error is clear
Please make sure you posted the right ingress in the first comment because doesn't match the log |
@aledbf That is the correct log; I was trying to give a representative sample of what's showing up on our logs in terms of errors and warnings. The example I posted is configured correctly (named "test-ingress"), but I have a few other ingresses that are exhibiting errors like the ones I posted above. In theory those should not block TLS from working, but I can try disabling them to narrow things down. |
I'm noticing that $server.SSLCert.PemFileName is coming up empty for the "_" server on the ingress instance that is refusing connections on 443, but is populated in the config when 443 is working (on my smaller/simpler cluster). Maybe looking at what would cause this to be empty would give a clue about what is happening? |
Yes, it means the SSL certificate defined in the tls section, the host in the ingress and host in the tls section do not match. |
Please check the complete log to see if my previous comment is present in more places |
I have similar issue when I upgraded to 0.24.0 I have the same issue with 2 types of clusters.
I was surprised this dynamic certificate flag broke tls since I don't have anything special in either of my ingresses, services configmaps or deployments. |
For us HTTPS also broke with 0.24.0. We usually never use certs in namespaced secrets but we rely on a default cert with lots of SAN names ( |
Closing. Fixed in master #3990 |
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/.):
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.): dynamic certificates
Is this a BUG REPORT or FEATURE REQUEST? (choose one): BUG REPORT
NGINX Ingress controller version: 0.23.0
Kubernetes version (use
kubectl version
): 1.12.3Environment:
uname -a
): Linux 4.15.0-39-genericWhat happened:
When adding the
--enable-dynamic-certificates=true
flag, nginx stops listening on 443. The flag seems to cause the lua module to be loaded/required, and the SSL secrets seem to be ingested, but nolisten 443
directives are added to the nginx.conf. Attempting to hit nginx over https on port 443 results in connection refused.What you expected to happen:
I expected requests to be accepted on port 443.
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know:
The text was updated successfully, but these errors were encountered: