Назад | Перейти на главную страницу

Невозможно получить доступ к nginx, доступному на частном IP, но не на общедоступном IP

Я создаю ресурсы с помощью terraform, и у меня есть узел в подсети 172.1.0.0 без группы безопасности или правил, назначенных узлу; узел имеет две конечные точки 22 и 80.

Я использовал nmap, чтобы убедиться, что порты открыты и они:

nmap -Pn -sT -p T:11 some-ingress.cloudapp.net

Starting Nmap 6.47 ( http://nmap.org ) at 2016-07-08 19:02 EAT
Nmap scan report for some-ingress.cloudapp.net (1.2.3.4
Host is up (0.31s latency).
PORT   STATE SERVICE
22/tcp open  ssh

Nmap done: 1 IP address (1 host up) scanned in 1.34 seconds


nmap -Pn -sT -p T:80 some-ingress.cloudapp.net

Starting Nmap 6.47 ( http://nmap.org ) at 2016-07-08 19:02 EAT
Nmap scan report for some-ingress.cloudapp.net (1.2.3.4)
Host is up (0.036s latency).
PORT   STATE SERVICE
80/tcp open  http

Nmap done: 1 IP address (1 host up) scanned in 0.09 seconds

Я установил nginx на узел и запустил curl 172.1.0.4 и curl 127.0.0.1 и curl 0.0.0.0 получает страницу nginx по умолчанию.

Однако бег curl <public ip> или curl <dns name> зависает, и я получаю

curl: (56) Recv failure: Connection reset by peer

Мои правила iptables:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     udp  --  anywhere             anywhere             udp dpt:bootpc
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:domain
ACCEPT     udp  --  anywhere             anywhere             udp dpt:domain
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:bootps
ACCEPT     udp  --  anywhere             anywhere             udp dpt:bootps

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination  

Почему я не могу получить доступ к nginx по общедоступному IP-адресу узла?

Узел находится в виртуальной сети 172.1.0.0/16 и подсеть 172.1.0.0/24 Если нужно, могу выложить конфиги терраформа.

Для этого могло быть несколько причин:

  1. Я предполагаю, что это развернуто в VPC.

Обычно, если вы используете VPC, вам необходимо добавить интернет-шлюз и настроить таблицы маршрутов, связанные с вашей подсетью, с маршрутом, в котором указано, что пункт назначения 0.0.0.0/0 отправляется в igw.

Надеюсь это поможет.