Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. WalkthroughThe nginx ConfigMap configures HTTP/1.1 upstream proxying for five oidc-ui locations. Each location clears the ChangesOIDC upstream proxy configuration
Priority: ⬆️ High — Impact reflects high issue severity. Estimated code review effort: 1 (Trivial) | ~5 minutes Severity of issue fixed: High Merge Risk: ⚪ Minimal · up to OIDC UI backend and discovery proxy requests now use HTTP/1.1 consistently, addressing the upstream protocol rejection without introducing an identified merge-readiness risk. Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. HTTP/1.1 now carries the stream Comment |
…ions nginx's proxy_pass defaults to HTTP/1.0 when talking to the upstream esignet service. When the esignet Service port is named 'http' (as in helm/esignet/templates/service.yaml), Istio configures the sidecar's inbound listener with a strict HTTP/1.1-only codec that rejects HTTP/1.0 requests with 426 Upgrade Required. Set proxy_http_version 1.1 and clear the Connection header on every proxied location so oidc-ui's nginx speaks HTTP/1.1 to the backend, matching standard nginx guidance for proxying to keep-alive-capable upstreams. Fixes mosip#2559 Signed-off-by: bhumi46 <bhumi11111a@gmail.com>
441e3a7 to
6b255ee
Compare
What
oidc-ui's nginxproxy_passblocks never setproxy_http_version, so nginx sends HTTP/1.0 to theesignetbackend by default. Sincehelm/esignet/templates/service.yamlnames the backend Service porthttp, Istio (when sidecar injection is enabled) applies a strict HTTP/1.1-only codec on that port's inbound Envoy listener, which rejects the HTTP/1.0 request with426 Upgrade Required.This fix adds to every proxied
locationblock:Why
Standard nginx guidance when proxying to any HTTP/1.1-capable (keep-alive) upstream. Fixes the 426 without any Istio/Service changes.
How I verified
Root-caused by testing the same request as HTTP/1.0 vs HTTP/1.1 directly against the backend Service from inside the mesh (via the
oidc-uipod's istio-proxy sidecar):curl --http1.0 http://<esignet-service>/v1/esignet/...→426 Upgrade Requiredfromistio-envoycurl --http1.1(same URL) → normal response from the appApplied this exact patch live to a running deployment's
nginx.confConfigMap and confirmed the endpoint changed from426 Upgrade Requiredto a normal backend response (405 Method Not Allowedfor a GET on a POST-only endpoint, i.e. correctly reaching the app).Fixes #2559
Summary by CodeRabbit