80端口的Meteor App和Nginx

时间:2016-06-15 11:48:07

标签: node.js ubuntu meteor nginx

当我在端口80上运行Nginx时,我的网站始终显示空白页面。但是,如果我在其他端口上运行Nginx,例如端口8080,我去mypage.com:8080它显示我的流星应用程序。我不知道为什么Nginx可以在所有端口上工作,但是80。

这是我的配置。

Nginx的

server {
         listen                *:80 default_server;

         server_name           mypage.de;

         access_log            /var/log/nginx/app.dev.access.log;
         error_log             /var/log/nginx/app.dev.error.log;

         location / {
              proxy_pass http://127.0.0.1:5000;
              proxy_http_version 1.1;
              proxy_set_header Upgrade $http_upgrade;
              proxy_set_header Connection 'upgrade';
              proxy_set_header X-Forwarded-For $remote_addr;
          }
}

Meteor App以

开头
sudo PORT=5000 MONGO_URL=mongodb://user:pwd@127.0.0.1:27017/mypage 
ROOT_URL=http://mypage.de forever start -a -o out.log -e err.log main.js

netstat -tulpn显示

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 11214/nginx -g daem tcp 0 0 0.0.0.0:5000 0.0.0.0:* LISTEN 10853/node

但正如我在mypage.de之前所说的那样显示空白页面...与端口8080上的Nginx相同的配置有效。我在Ubuntu上工作。我怎样才能解决这个问题?

1 个答案:

答案 0 :(得分:0)

您的IP表似乎阻止了端口80.您和您的服务器之间的防火墙。

这些是网络流量的IP表规则。只需在命令行上运行这些命令:

iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT

我还会删除任何不需要的规则,例如允许端口5000.你只希望人们访问网络端口,就是这样。