Ich erstellte eine Node.js Website, die Google-Authentifizierung verwendet. Die Website wird von mehr als 100 Benutzern gleichzeitig verwendet, was sich auf die Leistung auswirkt. Ich verstehe also, dass Nginx bei der Skalierung der Site helfen kann, indem es mehrere Instanzen der Node.js-Anwendung in mehreren Ports erstellt und dann Nginx als Load Balancer verwendet.Nginx Lastenausgleich mit Node.js und Google Oauth
Also, ich habe Nginx konfiguriert, aber das Problem ist, dass es scheint nicht mit Google-Authentifizierung zu arbeiten. Ich bin in der Lage, die erste Seite meiner Website zu sehen und kann mich über Google anmelden, aber nach diesem Punkt funktioniert es nicht.
Irgendwelche Vorschläge zu dem, was fehlt, um dies zu funktionieren.
Dies ist meine Konfigurationsdatei:
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";
}
}
Ich habe gerade angefangen zu nginx Lernen, ich überprüft, wenn der Upstream nur eine IP-Adresse und es funktioniert. d. h. es funktioniert als Reverse-Proxy, aber nicht als Load-Balancer, und meine Vermutung beruht auf der Art der Google-Authentifizierung.
Und der Fehler, den ich im Fehlerprotokoll erhalten, ist Verbindung verweigert. Danke.
Hallo Kathy, warum zeigst du uns nicht einen Code, um eine Idee zu bekommen, was du bisher versucht hast? – Flip
Meinst du die Nginx-Konfiguration? –