You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -10,7 +10,25 @@ A cluster administrator can configure link:https://www.haproxy.org/download/1.8/
10
10
11
11
[WARNING]
12
12
====
13
-
The PROXY protocol is unsupported for the default Ingress Controller with installer-provisioned clusters on non-cloud platforms that use a Keepalived Ingress VIP.
13
+
The default Ingress Controller with installer-provisioned clusters on non-cloud platforms that use a Keepalived Ingress Virtual IP (VIP) do not support the PROXY protocol.
14
+
====
15
+
16
+
The PROXY protocol enables the load balancer to preserve the original client addresses for connections that the Ingress Controller receives. The original client addresses are useful for logging, filtering, and injecting HTTP headers. In the default configuration, the connections that the Ingress Controller receives contain only the source IP address that is associated with the load balancer.
17
+
18
+
[IMPORTANT]
19
+
====
20
+
For a passthrough route configuration, servers in {product-title} clusters cannot observe the original client source IP address. If you need to know the original client source IP address, configure Ingress access logging for your Ingress Controller so that you can view the client source IP addresses.
21
+
22
+
For re-encrypt and edge routes, the {product-title} router sets the `Forwarded` and `X-Forwarded-For` headers so that application workloads check the client source IP address.
23
+
24
+
For more information about Ingress access logging, see "Configuring Ingress access logging".
25
+
====
26
+
27
+
Configuring the PROXY protocol for an Ingress Controller is not supported when using the `LoadBalancerService` endpoint publishing strategy type. This restriction is because when {product-title} runs in a cloud platform, and an Ingress Controller specifies that a service load balancer should be used, the Ingress Operator configures the load balancer service and enables the PROXY protocol based on the platform requirement for preserving source addresses.
28
+
29
+
[IMPORTANT]
30
+
====
31
+
You must configure both {product-title} and the external load balancer to use either the PROXY protocol or TCP.
14
32
====
15
33
16
34
This feature is not supported in cloud deployments. This restriction is because when {product-title} runs in a cloud platform, and an Ingress Controller specifies that a service load balancer should be used, the Ingress Operator configures the load balancer service and enables the PROXY protocol based on the platform requirement for preserving source addresses.
@@ -24,7 +42,7 @@ You must configure both {product-title} and the external load balancer to either
24
42
* You created an Ingress Controller.
25
43
26
44
.Procedure
27
-
. Edit the Ingress Controller resource:
45
+
. Edit the Ingress Controller resource by entering the following command in your CLI:
* If your Ingress Controller uses the hostNetwork endpoint publishing strategy type, set the `spec.endpointPublishingStrategy.hostNetwork.protocol` subfield to `PROXY`:
54
+
* If your Ingress Controller uses the `HostNetwork` endpoint publishing strategy type, set the `spec.endpointPublishingStrategy.hostNetwork.protocol` subfield to `PROXY`:
37
55
+
38
56
.Sample `hostNetwork` configuration to `PROXY`
39
57
[source,yaml]
40
58
----
59
+
# ...
41
60
spec:
42
61
endpointPublishingStrategy:
43
62
hostNetwork:
44
63
protocol: PROXY
45
64
type: HostNetwork
65
+
# ...
46
66
----
47
-
* If your Ingress Controller uses the NodePortService endpoint publishing strategy type, set the `spec.endpointPublishingStrategy.nodePort.protocol` subfield to `PROXY`:
67
+
68
+
* If your Ingress Controller uses the `NodePortService` endpoint publishing strategy type, set the `spec.endpointPublishingStrategy.nodePort.protocol` subfield to `PROXY`:
48
69
+
49
70
.Sample `nodePort` configuration to `PROXY`
50
71
[source,yaml]
51
72
----
73
+
# ...
52
74
spec:
53
75
endpointPublishingStrategy:
54
76
nodePort:
55
77
protocol: PROXY
56
78
type: NodePortService
79
+
# ...
80
+
----
81
+
82
+
* If your Ingress Controller uses the `Private` endpoint publishing strategy type, set the `spec.endpointPublishingStrategy.private.protocol` subfield to `PROXY`:
0 commit comments