fix: set header snippets for websocket upgrade on nginx-ingress#7881
Conversation
|
Merging this PR will trigger the following deployment actions. Support deploymentsNo support upgrades will be triggered Staging deployments
Production deployments
|
| nginx.org/server-snippets: | | ||
| resolver_timeout 30s; |
There was a problem hiding this comment.
It looks like NGINX caches the DNS responses by default, whereas the existing ingress-nginx uses the /etc/resolve to set a resolver with 30s TTL.
|
@yuvipanda I pinged you for review. This feels a bit like whack-a-mole — I wonder whether we should do a more systematic comparison of the resolved nginx configurations (I've been using them to guess what's missing). |
|
@agoose77 whackamole is fine for now. Let's do this and see if this solves the issue? I think the resolved nginx config will have too much accidental differences |
Yeah, they're fairly different! |
@ktyle reported that kernels and terminals weren't working properly on the Pythia BinderHub. He also saw 502 errors. Both of these, I reproduced.
We recently upgraded that hub to use nginx-ingress, and it turns out that our current configuration does not support websocket upgrades.
This PR sets the location snippet required to support that. There may be other configuration we need to tweak here (like buffering, timeouts, etc).
It also sets a TTL on DNS replies to match the old ingress defaults.