-
Notifications
You must be signed in to change notification settings - Fork 69
RollSite: Passing Through a HTTP 1 Network
RollSite uses gRPC as its communication library. gRPC is a HTTP/2 based protocol. But in some cases your customer only supports HTTP/1 connections. You may need additional setup for HTTP1.
We use nghttpx
to deal with this case. nghttpx
is a HTTP/2 proxy. It is part of the nghttp2
tools and you can find it here:
https://github.com/nghttp2/nghttp2
For one site, you need 2 nghttpx
processes: one to translate outbound HTTP/2 traffics to HTTP/1, the other to translate inbound HTTP/1 traffics to HTTP/2.
# HTTP/2 -> HTTP/1, i.e. outbound traffic
# 9471 is the forward proxy port, and 192.168.1.50:9371 is the next hop / local nginx or everything the other end of HTTP/1 route
nghttpx -s -f'0.0.0.0,9471;no-tls' -b'192.168.1.50,9371' -LINFO
# HTTP/1 -> HTTP/2, i.e. inbound traffic
# 9371 is the reverse proxy port, and 9370 is the actual RollSite process
nghttpx -f'0.0.0.0,9371;no-tls' -b'127.0.0.1,9370;;proto=h2' -LINFO
If you want to use HTTPS/1, a few nghttpx
parameters need to adjust. You can refer to the nghttpx
manual and see or stay tuned.
PS: nghttpx
is not the only HTTP/2 <-> HTTP/1 translator out there. Users can use any tools for this translation. E.g. envoy
is another good option.
- Overview
-
Eggroll FAQ
-
Configurations
- 3.1. eggroll.properties: Eggroll's Main configuration File
- 3.2. Environment Variables
- 3.3. RollSite: Configuring Route Table
- 3.4. RollSite: Configuring Secure Communications
- 3.5. RollSite: Configuring Polling Mode
- 3.6. RollSite: Passing Through a HTTP/1 Network
- Deployment