У меня есть приложение nodejs с socket.io, которое я запускаю на порту 3000 и пытаюсь настроить nginx в качестве обратного прокси-сервера для него.У меня также есть некоторые iptables, и я думаю, что они могут мешать моему приложению, не разрешая соединения с nodejs, но я не могу понять, в чем проблема.Когда я подключаюсь к своему приложению с другого компьютера, я получаю сообщение «Cannot GET /."
». Я подумал, что в первой строке моего iptables предусмотрены петли (что позволит подключаться из nginx к nodjs, так как они находятся ната же машина, но, может быть, я скучаю, понял это? Как я могу изменить мои iptables, разрешить ли nginx подключаться к моему приложению?
Мой фильтр iptables:
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:20
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:53
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:53
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
И мой файл конфигурации nginx:
upstream socket_nodes{
server 127.0.0.1:3000;
}
server {
listen 80;
server_name mywebsite.com www.mywebsite.com;
location / {
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_pass http://socket_nodes;
}
}
Тогда в моем nodejs index.js у меня есть это для прослушивания моего вызова:
var port = 3000;
server.listen(port, function(){
console.log('listening on *:' + port);
});