IP real para NGINX + WILDFLY-LB + WILDFLY
-IP real para NGINX + WILDFLY-LB + WILDFLY:
Vamos a explicar como parchear el undertow del Wildfly 10.1.0 que se usa como balanceador (con modcluster) para que en nuestra aplicación salga la Ip real del cliente.
Ante esta situación:
CLIENTE(10.2.10.61) – NGINX(10.0.210.5) – WILDFLY/LB(10.0.210.34) – WILDFLY/APP(10.0.210.33)
Ahora nos salía esto:
10.0.210.34 forwarded for 10.0.210.5
Esto lo tienen preparado en el código de Undertow pero no es configurable, por eso hay que parchearlo.
Se ha parcheado para que resuse el X-Forwarded-For al usar el modcluster como balanceador:
diff –git a/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java b/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
index f479029..aeb8c27 100644
— a/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
+++ b/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
@@ -121,7 +121,7 @@
private final int maxConnectionRetries;
public ProxyHandler(ProxyClient proxyClient, int maxRequestTime, HttpHandler next) {
– this(proxyClient, maxRequestTime, next, false, false);
+ this(proxyClient, maxRequestTime, next, false, true);
}
/**
Y ahora sale así:
10.0.210.34 forwarded for 10.2.10.61,10.0.210.5
Siendo la IP 10.2.10.61 la IP real del cliente.
Conocimiento Open Source
Desde siempre intentamos aplicar la filosofía Open Source también con el conocimiento, por ello nació el Blog Open Source, donde nuestros desarrolladores comparten notas, consejos y tutoriales sobre tecnología y desarrollo, soluciones a problemas diarios, bugs o cualquier información que creemos, puede ser interesante.



0 comentarios