Comments (4)
It is possible to covert h1 to h2, but converting from h1 to gGRPC is generally not possible with nghttpx.
gRPC might require its own header fields or semantics, and nghttpx does not know that.
from nghttpx-ingress-lb.
the convertion from h1 to grpc is done by my backing service. I don't expect it to be handled by nghttpx or ingress controller.
it's just that I want to merge these two different svc & port
ingress.zlab.co.jp/backend-config: {"devg-ecdd1595-48ac-4449-bdc1-190d37f99fd4": {"8000": {"proto": "h2"}, "9000": {"proto": "http/1.1"}}}
into one
ingress.zlab.co.jp/backend-config: {"devg-ecdd1595-48ac-4449-bdc1-190d37f99fd4": {"8000": {"proto": "h2-and-http/1.1"}}}
is it possible?
from nghttpx-ingress-lb.
Ah, sorry I misunderstood that.
So nghttpx should do on the same frontend port:
- if incoming request is h1, pass it to backend in h1.
- if incoming request is h2, pass it to backend in h2.
Choosing backend protocol depending on the frontend protocol is not possible at the moment.
You can mix multiple protocols in backend, but they are chosen in round robin manner.
I'm not sure how h1 request looks like, but if the backend can distinguish the normal HTTP request from gRPC request, then how about just sending all requests to backend in h2, and let backend decide whether the request is genuine gRPC or just h2 converted from h1.
from nghttpx-ingress-lb.
Hi,
I think I manage to work around this for my use case because I can differentiate the url path for grpc & http
Thanks. I'll close this
from nghttpx-ingress-lb.
Related Issues (20)
- Permission denied error while running the container as a non root user HOT 2
- How to configure SSL Passthrough? HOT 1
- How if I only want to implement the HTTP3 on my nginx ingress ? HOT 1
- feature request: routing `type: ExternalName` services HOT 4
- Upgrade to nghttp2 v1.26.0 HOT 2
- Add PROXY protol support for frontend servers HOT 2
- ingress for grpc service HOT 2
- pls add ingress.zlab.co.jp/default-backend-config HOT 4
- request to add publish-service flag HOT 5
- redirect-if-not-tls in backend template HOT 2
- backendconfig API endpoint returned unsuccessful status code 413 HOT 5
- Don't depend on external "diff" command HOT 1
- Use debian-base-amd64 to reduce image size
- is it possible to watch several k8s namespaces? HOT 3
- how to debug the routing process HOT 10
- how load balancing works in nghttpx ingress HOT 9
- Does nghttpx ingress intercept errors? HOT 4
- Failed to start after changing the tls cert HOT 2
- Does this lb support traefik's PathPrefixStrip like feature HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nghttpx-ingress-lb.