| 123456789101112131415161718192021222324252627282930 |
- [#haproxy-dns]
- = HAProxy
- :proxy: HAProxy
- include::partial$reverse-proxies/diagram.adoc[]
- This is a straightforward example of how to setup a DNS name based HAProxy setup for OliveTin.
- ./etc/haproxy/haproxy.conf
- [source,python]
- ----
- frontend cleartext_frontend
- bind 0.0.0.0:80
- option httplog
- use_backend be_olivetin_webs if { hdr(Host) -i olivetin.example.com && path_beg /websocket }
- use_backend be_olivetin_http if { hdr(Host) -i olivetin.example.com }
- backend be_olivetin_http
- server olivetinServer 127.0.0.1:1337 check
- backend be_olivetin_webs
- timeout tunnel 1h
- option http-server-close
- server olivetinServer 127.0.0.1:1337
- ----
- The `timeout tunnel 1h` is important: without it, HAProxy's default timeouts will close long-lived websocket connections. See xref:troubleshooting/err-websocket-connection.adoc#reverse-proxies-will-close-websockets[Reverse proxies will close websockets] if you see disconnects.
|