Browse Source

Explain reverse proxy setup for websockets (#2121)

* Explain reverse proxy setup for websockets

* Update MANUAL.md

Clarify that we only support `X-Forwarded-For`

---------

Co-authored-by: Shivaram Lingamneni <slingamn@cs.stanford.edu>
tags/v2.13.0
Neale Pickett 3 months ago
parent
commit
3839f8ae60
No account linked to committer's email address
1 changed files with 6 additions and 0 deletions
  1. 6
    0
      docs/MANUAL.md

+ 6
- 0
docs/MANUAL.md View File

@@ -623,6 +623,8 @@ Many clients do not have this support. However, you can designate port 6667 as a
623 623
 
624 624
 Ergo supports the use of reverse proxies (such as nginx, or a Kubernetes [LoadBalancer](https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer)) that sit between it and the client. In these deployments, the [PROXY protocol](https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt) is used to pass the end user's IP through to Ergo. These proxies can be used to terminate TLS externally to Ergo, e.g., if you need to support versions of the TLS protocol that are not implemented natively by Go, or if you want to consolidate your certificate management into a single nginx instance.
625 625
 
626
+### IRC Sockets
627
+
626 628
 The first step is to add the reverse proxy's IP to `proxy-allowed-from` and `ip-limits.exempted`. (Use `localhost` to exempt all loopback IPs and Unix domain sockets.)
627 629
 
628 630
 After that, there are two possibilities:
@@ -638,6 +640,10 @@ After that, there are two possibilities:
638 640
             proxy: true
639 641
 ```
640 642
 
643
+### Websockets through HTTP reverse proxies
644
+
645
+Ergo will honor the `X-Forwarded-For` headers on incoming websocket connections, if the peer IP address appears in `proxy-allowed-from`. For these connections, set `proxy: false`, or omit the `proxy` option.
646
+
641 647
 
642 648
 ## Client certificates
643 649
 

Loading…
Cancel
Save