2016-04-05 19 views
1

私はcentos 6.7マシンで作業していますが、node.jsアプリケーションを提供するようにnginxを設定しようとしています。私は本当に近くにいるように感じるが、私は何かを欠いている。だから私のnginx.conf以下は私のサイトが有効になっているディレクトリのserver.confです。centosでのNginx設定6.7

パブリックIPアドレスに行くと、502の不良ゲートウェイエラーが発生します。しかし私が私のcentosマシン上の正しいポートでプライベートIPを巻くと、私はノードアプリケーションが走っているのを見ることができます。私はここで何が欠けていますか?それはファイアウォールの問題か多分何か他のものですか?

nginx.conf

user nginx; 
worker_processes 1; 

error_log /var/log/nginx/error.log warn; 
pid  /var/run/nginx.pid; 


events { 
    worker_connections 1024; 
} 


http { 
    include  /etc/nginx/mime.types; 
    default_type application/octet-stream; 

    log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 
         '$status $body_bytes_sent "$http_referer" ' 
         '"$http_user_agent" "$http_x_forwarded_for"'; 

    access_log /var/log/nginx/access.log main; 

    sendfile  on; 
    #tcp_nopush  on; 

    keepalive_timeout 65; 

    #gzip on; 

    #include /etc/nginx/conf.d/*.conf; 
    include /etc/nginx/sites-enabled/*; 

} 

サイト対応/ server.conf

server { 
     listen 80; 
     #server_name localhost; 

     location/{ 
       proxy_pass http://192.xxx.x.xx:8000; // private IP 
       proxy_http_version 1.1; 
       proxy_set_header Upgrade $http_upgrade; 
       proxy_set_header Connection 'upgrade'; 
       proxy_set_header Host $host; 
       proxy_cache_bypass $http_upgrade; 
     } 
} 

UPDATE: 私はこれを考え出しました!

server { 
    listen  80 default_server; 
    listen  [::]:80 default_server; 
    #server_name _; 
    root   /usr/share/nginx/html; 

    include /etc/nginx/default.d/*.conf; 

    location/{ 
    proxy_pass http://127.0.0.1:9000; 
    proxy_http_version 1.1; 
    proxy_set_header Upgrade $http_upgrade; 
    proxy_set_header Connection 'upgrade'; 
    proxy_set_header Host $host; 
    proxy_cache_bypass $http_upgrade; 
    } 

    error_page 404 /404.html; 
     location = /40x.html { 
    } 

    error_page 500 502 503 504 /50x.html; 
     location = /50x.html { 
    } 
} 

答えて

0

私はコメントを書いてもらいたいが、スタックオーバーフローはできない。

私は99%Node.jsウェブサイトがでないことを確信しています。はnginxまたはapacheで作業する必要があります。

スクリプトが正しく設定されている場合、Node.jsアプリケーションはポート自体をリッスンする必要があります。

あなたは実際にあなたの構造をあまり言わなかったので、Node.jsのポートを使ってパブリックIPにアクセスすることができます。