Tomcat 애플리케이션에 역방향 프록시(nginx 또는 apache)를 사용하고 싶습니다. 포트 80,443을 역방향 프록시에서 tomcat 포트 8080, 8443으로 리디렉션하고 싶습니다. 역방향 프록시를 설정한 후 인바운드 및 아웃바운드를 위해 어떤 포트를 열어야 합니까?
그렇죠? iptables 인바운드: 포트 80, 443 열기 iptables 아웃바운드: 포트 8080,8443 열기
친절한 안부
검은 수염
답변1
ㅏTCP연결은 항상 두 명(그 이상은 아님)의 참가자 사이에서 이루어집니다. 각각은 IP 주소로 식별됩니다.그리고항구. 따라서 실제로 역방향 프록시를 사용하면 다음과 같은 이점이 있습니다.
<client_IP>:<random_port>
클라이언트 와 클라이언트 간의 연결nginx<server_public_IP>:80
물리적 인터페이스를 통해.- 사이의 연결nginx
127.0.0.1:80
그리고수코양이127.0.0.1:8080
통해루프백 인터페이스.
방화벽이 루프백 인터페이스의 통신을 차단할 이유가 없습니다. 따라서 다음을 사용하여 들어오는 트래픽을 허용하고 싶을 것입니다.목적지포트 80
및 443
아웃바운드 트래픽원천포트 80
와 443
.
그러나 일반적으로 아웃바운드 트래픽은~ 아니다차단된 경우(policy ACCEPT
) 다음 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
추신: 달릴 수도 있습니다수코양이포트에서 직접 동일한 방화벽 규칙을 사용합니다 80
.443