Skip to content

Commit 5ece6fd

Browse files
Arne-Christian Blystadjohanneswuerbach
authored andcommitted
docs(router): Add PROXY protocol documentation
1 parent 34e026a commit 5ece6fd

1 file changed

Lines changed: 21 additions & 0 deletions

File tree

docs/customizing_deis/router_settings.rst

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,8 @@ setting description
6565
/deis/router/sslCert cluster-wide SSL certificate
6666
/deis/router/sslKey cluster-wide SSL private key
6767
/deis/router/workerProcesses nginx number of worker processes to start (default: auto i.e. available CPU cores)
68+
/deis/router/proxyProtocol nginx PROXY protocol enabled
69+
/deis/router/proxyRealIpCidr nginx IP with CIDR used by the load balancer in front of deis-router (default: 10.0.0.0/8)
6870
/deis/services/* healthy application containers reported by deis/publisher
6971
/deis/store/gateway/host host of the store gateway component (set by store-gateway)
7072
/deis/store/gateway/port port of the store gateway component (set by store-gateway)
@@ -90,3 +92,22 @@ Be sure that your custom image functions in the same way as the `stock router im
9092
Deis. Specifically, ensure that it sets and reads appropriate etcd keys.
9193

9294
.. _`stock router image`: https://github.com/deis/deis/tree/master/router
95+
96+
PROXY Protocol
97+
---------------
98+
PROXY is a simple protocol supported by nginx, HAProxy, Amazon ELB, and others. It provides a method
99+
to obtain information about the original requests IP address sent to a load
100+
balancer in front of Deis :ref:`router`.
101+
102+
The Protocol works by prepending, for example, the following to the request:
103+
104+
.. code-block:: text
105+
106+
PROXY TCP4 129.164.129.164\r\n
107+
108+
The :ref:`router` will pick up the IP information and forward it to the application in the
109+
``X-Forwarded-For`` header.
110+
111+
Load Balancers supporting the HTTP protocol may not need this, except in cases where one would run
112+
WebSockets on a Load Balancer without support for WebSockets (for example AWS ELB) and one also
113+
wants to know the IP address of the original request.

0 commit comments

Comments
 (0)