Apache通过mod_auth_openidc与Tomcat交互

时间:2016-10-04 13:13:37

标签: tomcat8 apache2.4 mod-jk mod-auth-openidc

我需要通过mod_auth_openidc模块(用于特定登录)将端口8079上的Apache Web服务器与端口8080上的Tomcat实例连接起来。目的是通过OpenID Connect继续进行用户识别,无需进一步的登录请求即可在Tomcat上托管的webapp。

我根据OIDC服务器请求(例如Google)配置OIDC并注册了客户端,我也启用了mod_jk。我无法到达最后一英里。我还考虑在http.config apache文件的virtualhost部分中使用PROXY / REVERSEPROXY。到目前为止,这并没有纠正重定向为假设..

有人可以提供帮助吗?

2 个答案:

答案 0 :(得分:0)

您可以使用以下配置将mod_auth_openidc保护的路径代理到Tomcat等后端服务器:

<Location "/">
  AuthType openid-connect
  Require valid-user
  ProxyPass http://tomcat:8080/
  ProxyPassReverse http://localhost:8080/
</Location>

答案 1 :(得分:0)

当后端需要访问用户信息以进行授权或数据隔离时,您提供的解决方案还不够。

我找到了一种更完整的存档方法。

<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>