@@ -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
9092Deis. 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