Replies: 1 comment
-
|
Good work, it does look like the work around this got a bit stale and needs updating, I can't see why you would need an upgrade header for non socket IO/websocket connections but I'd need to dive deeper to give an educated answer. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
The How to put Etherpad Lite behind a reverse Proxy wiki page is not consistent with itself with respect to the webscockets connection upgrade headers.
In some cases, if the HTTP Upgrade and Connection headers are present, they are forwarded to the proxy only when the request is for /socket.io. In other cases, there's no distinction and they are always forwarded if present.
What is the best practice here?
In the wiki you can find both ways.
For Apache, the wiki page states we should have two locations '/' and '/socket.io/' and only enable the HTTP proxy header forwarding in the latter:
For nginx, when the pad is parked at '/', there is only one location, '/' and the proxy headers are set there if the client sent the HTTP upgrade headers:
For nginx, when the pad is parked at a subdirectory', there are many distinct sections and only the one for sockets.io is forwarding the HTTP upgrade headers if present.
For caddy, hosted in a subdirectory url,, those headers are only forwarded for location.io
Whatever is the resolution, the nginx info should be reviewed to make it consistent. I also feel that many of those location sections when the pad is hosted in a subdir could be factorized into two location sections, retaining only one section for '/foo(/*)?' and another one for /foo/socket.io . I've been testing this with positive results (here below partial config for pad hosted on subdir /test):
WDYT?
Thanks in advance for your feedback.
Beta Was this translation helpful? Give feedback.
All reactions