2011-09-06 75 views
0

我們使用opensso在我們的應用程序中對用戶進行身份驗證。每個應用程序都位於反向代理的後面,如OpenSSO以及用戶驗證時,來自SSO的用戶名用於在應用程序中創建用戶會話。 8080/OpenSSO的在反向代理重定向問題後面運行的Opensso

SSO服務器應該是通過反向代理只能訪問和通過https:

OpenSSO的主機admin.mynet部署在碼頭上的8080端口,從而無需反向代理運行時,它通過HTTP admin.mynet進行訪問在端口443上,這將由nginx轉換爲內部http resquest到端口8080.主機名需要解析爲代理而不是SSO服務器。因此,點擊https admin.mynet/opensso應顯示SSO頁面。

問題是,使此配置啓動並運行,擊中https://admin.mynet/opensso/UI/Login SSO發回302位置http://admin.mynet:8080/opensso/UI/Login。因此,SSO並不想處理來自

回答

0

未來假設爲10.0.0.10的admin.mynet IP地址的請求,以下塊應該工作:

server { 
    listen 443; 
    server_name admin.mynet; 
    ssl   on; 
    location/{ 
     proxy_pass  http://10.0.0.10:8080; 
     proxy_set_header X-Real-IP $remote_addr; 
    } 
    location /opensso { 
     proxy_pass  http://10.0.0.10:8080; 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header Host admin.mynet:8080; 
    } 
}