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

Почему я могу получить доступ к серверу Nodejs через порт 80, даже если он работает на порту 3000 и nginx остановлен

Я не очень знаком с настройкой веб-сервера. У меня есть экспресс-сервер node, работающий на порту 3000 в экземпляре AWS EC2, на котором работает Ubuntu 18.04.

В консоли управления AWS у меня есть правило, разрешающее доступ к порту 3000, чтобы я мог получить доступ mydomain.com:3000. Нет проблем - в этом есть смысл.

Чтобы разрешить доступ через mydomain.com, Я установил Nginx и очень простую конфигурацию с использованием proxy_pass для передачи запросов порта 80 на порт 3000:

server {

        listen 80 default_server;
        listen [::]:80 default_server;

        server_name mydomain.com www.mydomain.com;

       location / {
               proxy_set_header X-Real-IP      $remote_addr;
               proxy_set_header Host           $http_host;
               proxy_pass      http://127.0.0.1:3000;
       }

}

Однако, когда я останавливаю Nginx (что я сделал как часть несвязанной попытки перейти на https ... подробнее об этом, если вам нужно), я все еще могу получить доступ mydomain.com.

Каким-то образом достигается доступ к экспресс-серверу узла на порту 3000, хотя трафик поступает на порт 80. А Nginx не работает.

Что происходит?

Я проверил sudo iptables -L и это, похоже, не виновато:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination