0

我们正在使用 opensso 在我们的应用程序中对用户进行身份验证。每个应用程序都位于反向代理之后,例如 OpenSSO,当用户通过身份验证时,来自 SSO 的用户名用于在应用程序中创建用户会话。

OpenSSO 部署在 Jetty 主机 admin.mynet 上的 8080 端口上,因此在没有反向代理的情况下运行时,可以通过 http admin.mynet:8080/opensso 访问它

SSO 服务器应该只能通过反向代理和端口 443 上的 https 访问,这将由 nginx 转换为对端口 8080 的内部 http 请求。主机名需要解析为代理而不是 SSO 服务器。所以点击 https admin.mynet/opensso 应该会显示 SSO 页面。

问题在于,启动并运行此配置,点击https://admin.mynet/opensso/UI/Login SSO 会发回 302,位置为http://admin.mynet:8080/opensso/UI/Login。所以 SSO 不想处理来自

4

1 回答 1

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;
   }
}
于 2011-09-06T05:03:26.440 回答