2011-09-06 79 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; 
    } 
}