2017-01-25 21 views
0

Google認証を使用するNode.jsサイトを作成しました。サイトは同時に100人以上のユーザーによって使用され、パフォーマンスに影響を及ぼします。ですから、Nginxは複数のポートにNode.jsアプリケーションの複数のインスタンスを作成し、Nginxをロードバランサとして使用することでサイトを拡張するのに役立つことを理解しています。NginxのNode.jsとGoogle Oauthによるロードバランシング

私はNginxを設定しましたが、問題はGoogle認証ではうまくいかないようです。私は自分のサイトの最初のページを見ることができ、私はGoogle経由でログインすることができますが、この時点以降はうまくいきません。

この作業を行うために欠落している可能性のあることについてのご提案です。

これは私の設定ファイルです:私はちょうどnginxのについての学習を始めた

upstream my_app 
{ 
    least_conn;     # Use Least Connections strategy 
    server ip:3001;  # NodeJS Server 2 I changed the actual ip 
    server ip:3002;  # NodeJS Server 3 
    server ip:3003;  # NodeJS Server 4 
    server ip:3004;  # NodeJS Server 5 
    keepalive 256; 
} 


server { 
    listen 80 default_server; 
    listen [::]:80 default_server ipv6only=on; 
    expires epoch; 
    add_header Cache-Control "no-cache, public, must-revalidate, proxy-revalidate"; 
    server_name ip; 
    access_log /var/log/nginx/example.com-access.log; 
    error_log /var/log/nginx/example.com-error.log error; 

    # Browser and robot always look for these 
    # Turn off logging for them 
    location = /favicon.ico { log_not_found off; access_log off; } 
    location = /robots.txt { log_not_found off; access_log off; } 
    # pass the request to the node.js server 
    # with some correct headers for proxy-awareness 
    location/{ 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_set_header Host $http_host; 
     proxy_set_header X-NginX-Proxy true; 
     proxy_buffers 8 16k; 
     proxy_buffer_size 32k; 
     proxy_pass http://my_app ; 
     proxy_redirect off ; 
     add_header Pragma "no-cache"; 

     # Handle Web Socket connections 
     proxy_http_version 1.1; 
     proxy_set_header Upgrade $http_upgrade; 
     proxy_set_header Connection "upgrade"; 
     } 

} 

、私は上流のは1つのIPアドレスを持っており、それが働いているときにチェック。つまり、リバースプロキシとして機能しますが、ロードバランサとしては機能しません。私の推測は、Google認証の性質によるものです。

エラーログに表示されるエラーは接続拒否です。おかげさまで

+2

こんにちはキャシー、あなたは私たちにいくつかのコードを表示して、これまでに試したことを考えてみませんか? – Flip

+0

あなたはNginxの設定を意味しますか? –

答えて

0

私は何が間違っているのか理解します。 least_connロードバランシングのテクニックはセッションを維持しないので選択する権利ではありませんでした。私はこれを hash $ remote_addrまたはhash_ipに変更して動作しています。

関連する問題