2017-02-22 152 views
0

我們有一種情況,我們需要從server_A(NGINX)提供登錄頁面,從這裏獲得用戶身份驗證,並且一旦通過身份驗證請求路由請求ta駐留在不同服務器(即Server_B)中的頁面。隨後的所有請求都將到達Server_A,它將首先檢查用戶和會話的有效性,然後路由到Server_B。這樣會話和安全性由服務器A維護,其餘工作由服務器B完成。NGINX可以同時作爲Web服務器和代理服務器嗎?

我的問題在於,我們可以通過NGINX服務器實現嗎?

回答

0

我在這裏的問題是,我們可以從NGINX服務器實現這個嗎?

是的,當然。

你是怎麼做的?

以爲例修改Tomcat的背後NGINX應用程序配置我都得心應手:

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; 
    } 
} 

這都將請求代理到Tomcat服務器,併爲他們提供服務像任何HTTP服務器。

對於您可能想要代理的任何應用程序,可以這麼說,只需修改上述配置的proxy_pass行!

相關問題