2017-02-22 1 views
0

Wir haben eine Situation, in der wir die Anmeldeseite von Server_A (NGINX) bedienen, den Benutzer von hier aus authentifizieren und die Anfrage nach der Authentifizierung an eine Seite weiterleiten müssen, die sich auf einem anderen Server, d. H Server_B, befindet. Alle nachfolgenden Anfragen werden an Server_A gesendet und es wird zunächst die Benutzer- und Sitzungsgültigkeit überprüft und dann zu Server_B weitergeleitet. Auf diese Weise wird die Sitzung und die Sicherheit von Server A verwaltet und der Rest der Arbeit wird von Server B erledigt.Kann NGINX gleichzeitig als Webserver und Proxy Server arbeiten?

Meine Frage hier ist, können wir das vom NGINX-Server erreichen?

Antwort

0

Meine Frage hier ist, können wir das vom NGINX Server erreichen?

Ja, sicherlich.

Wie machst du das?

Taking für ein Beispiel eines modifizierten Tomcat hinter NGINX Anwendung Config Ich habe praktisch:

server { 
    listen 80; 
    server_name www.example.com; 
    location /{ 
     proxy_set_header X-Forwarded-Host $host; 
     proxy_set_header X-Forwarded-Server $host; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_pass http://servera.example.com:8080/app; 
     client_max_body_size 10M; 
    } 
    location /login{ 
     proxy_set_header X-Forwarded-Host $host; 
     proxy_set_header X-Forwarded-Server $host; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_pass http://serverb.example.com:8080/login; 
     client_max_body_size 10M; 
    } 
} 

Dies wird beide Proxy-Anfragen an den Tomcat-Server, und sie wie jeder HTTP-Server dienen.

Das gleiche kann für jede Anwendung gesagt werden, die Sie möglicherweise Proxy, ändern Sie einfach die proxy_pass Zeile der obigen Konfiguration entsprechend!