【问题标题】:Apache interacting with Tomcat through mod_auth_openidcApache 通过 mod_auth_openidc 与 Tomcat 交互
【发布时间】:2017-02-12 16:20:32
【问题描述】:
我需要通过 mod_auth_openidc 模块(用于特定登录)将端口 8079 上的 Apache 网络服务器与端口 8080 上的 Tomcat 实例连接起来。目的是通过OpenID连接到Tomcat上托管的webapp进行用户识别,无需进一步的登录请求。
我根据 OIDC 服务器请求(例如 Google)配置 OIDC 并注册客户端,我还启用了 mod_jk。我无法到达最后一英里。我还考虑在 http.config apache 文件的虚拟主机部分中使用 PROXY/REVERSEPROXY。到目前为止,这并没有按预期更正重定向..
有人可以提供帮助吗?
【问题讨论】:
标签:
tomcat8
apache2.4
mod-jk
mod-auth-openidc
【解决方案1】:
您可以使用以下配置将受 mod_auth_openidc 保护的路径代理到 Tomcat 等后端服务器:
<Location "/">
AuthType openid-connect
Require valid-user
ProxyPass http://tomcat:8080/
ProxyPassReverse http://localhost:8080/
</Location>
【解决方案2】:
当后端需要访问用户信息以进行授权或数据隔离时,您提供的解决方案是不够的。
我找到了更完整的存档方式。
<Location "/tomcat">
AuthType openid-connect
Require valid-user
RequestHeader set Authorization "Bearer %{OIDC_access_token}e"
ProxyPass "http://tomcat:8080"
ProxyPassReverse "http://tomcat:8080"
</Location>