我们正在使用opensso对我们的应用程序中的用户进行身份验证。每个应用程序都存在于反向代理之后,以及OpenSSO,当用户通过身份验证时,SSO中的用户名用于在应用程序中创建用户会话。
OpenSSO在主机admin.mynet上的端口8080上部署在Jetty中,因此在没有反向代理的情况下运行时,可通过http admin.mynet访问:8080 / opensso
SSO服务器只能通过反向代理和端口443上的https访问,这将通过nginx转换为内部http resquest到端口8080.主机名需要解析为代理而不是SSO服务器。所以点击https admin.mynet / opensso应该显示SSO页面。
问题在于启动并运行此配置后,点击https://admin.mynet/opensso/UI/Login SSO会向位置http://admin.mynet:8080/opensso/UI/Login发回302。所以SSO不想处理来自
的请求答案 0 :(得分:0)
假设admin.mynet的ip地址为10.0.0.10,则以下块应该有效:
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;
}
}