2016-06-15 20 views
0

Meine Website zeigt immer eine leere Seite, wenn ich Nginx auf Port 80 ausführen. Wenn ich jedoch Nginx auf einem anderen Port z. Port 8080 und ich gehe zu mypage.com:8080 zeigt meine Meteor App. Ich habe keine Ahnung, warum Nginx auf allen Ports außer 80 arbeiten.Meteor App und Nginx auf Port 80

Hier sind meine Konfigurationen.

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 mit gestartet

sudo PORT=5000 MONGO_URL=mongodb://user:[email protected]:27017/mypage 
ROOT_URL=http://mypage.de forever start -a -o out.log -e err.log main.js 

netstat -tulpn zeigt

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

aber wie ich schon sagte mypage.de zeigt leere Seite ... Die gleiche Konfiguration mit Nginx auf Port 8080 funktioniert. Ich arbeite an Ubuntu. Wie kann ich das beheben?

+0

Können Sie zu Ihrer IP-Adresse gehen und Port 5000 anschließen und Ihre App sehen? – thatgibbyguy

+0

Ja, wenn ich zu myip: 5000 gehe zeigt es meine Meteor App –

+0

Nun habe ich sudo python -m SimpleHTTPServer 80 getestet, um einen einfachen HTTPServer zu starten, aber es zeigt nichts! Als ich sudo python -m SimpleHTTPServer 8080 getestet habe und zu mypage.de:8080 gegangen bin, funktioniert es. Es sieht so aus als ob Port 80 geblockt wird oder so, aber ich habe keine Ahnung, warum –

Antwort

0

Ihre IP-Tabellen scheinen Port 80 zu blockieren. Das oder eine Firewall zwischen Ihnen und Ihrem Server.

Dies sind die IP-Tabellenregeln für den Web-Datenverkehr. Führen Sie einfach diese Befehle auf der Kommandozeile:

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

Ich würde fallen auch alle Regeln, die nicht nur wie erlaubt Port benötigt 5000. Sie wollen die Menschen auf die Web-Ports gehen und das ist es.

+0

Es scheint, dass du recht hast, aber ich habe den Grund nicht gefunden, warum der Port blockiert wurde. Also habe ich ubuntu neu installiert und jetzt funktioniert es. –

+0

Hmmm, komisch. Ich bin froh, dass Sie es behoben haben. Eine gute Möglichkeit, immer zu testen, ob IP-Tabellen das Problem sind, besteht darin, sie einfach auszuschalten und zu prüfen, ob Sie darauf zugreifen können. Wenn Sie können, schalten Sie sie wieder ein und passen Sie die Regeln an. – gkrizek

Verwandte Themen