Quiero usar proxy inverso (nginx o apache) para mi aplicación Tomcat. Quiero redirigir los puertos 80,443 del proxy inverso a los puertos 8080, 8443 de Tomcat. Después de configurar el proxy inverso, ¿qué puerto debe estar abierto para entrada y salida?
está bien ? iptables entrante: puerto abierto 80, 443 iptables saliente: puerto abierto 8080,8443
atentamente
barba negra
Respuesta1
AtcpLa conexión es siempre entre dos (no más) participantes. Cada uno está identificado con una dirección IP.yun puerto. Entonces, en realidad, cuando usas un proxy inverso, tienes:
- Una conexión entre el cliente
<client_IP>:<random_port>
ynginx<server_public_IP>:80
a través de su interfaz física. - Unas conexiones entrenginx
127.0.0.1:80
yGato127.0.0.1:8080
a través deinterfaz de bucle invertido.
No hay ningún motivo para que un firewall bloquee la comunicación en la interfaz loopback. Probablemente quieras permitir el tráfico entrante condestinopuerto 80
y 443
tráfico de salida confuentepuerto 80
y 443
.
Sin embargo, normalmente el tráfico saliente esnobloqueado (política ACCEPT
), solo necesitas las siguientes reglas de iptables:
iptables -A INPUT -i lo -j ACCEPT # loopback interface
# don't block existing traffic
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dports 80,443 -m comment nginx -j ACCEPT
# Probably you want to allow ssh
iptables -A INPUT -p tcp --dport 22 -m comment SSH -j ACCEPT
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
PD: También puedes ejecutarGatodirectamente en los puertos 80
y 443
con las mismas reglas de firewall.