Я не очень знаком с настройкой веб-сервера. У меня есть экспресс-сервер 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