【问题标题】:Mutual TLS with Apache proxy to Tomcat使用 Apache 代理到 Tomcat 的相互 TLS
【发布时间】:2017-11-21 20:59:47
【问题描述】:

我正在使用的设置涉及一个 Apache 服务器,它充当服务于多个 Web 应用程序的 tomcat 服务器的代理。我在 apache 上启用了双向 TLS,我可以成功连接到我的一个 tomcat Web 应用程序并验证客户端证书。但是,我想更进一步......目前在我的 ssl.conf 中,我有一个默认的 HTTPS VirtualHost 配置,如下所示:

<VirtualHost *:443>
   ....
   SSLEngine on
   SSLCertificateFile /path/to/www_yoursite_com.crt
   ....
   #other SSL options...
</VirtualHost>

在我的 modproxy.conf 我有如下配置:

ProxyPass /webApp1 https://localhost:1234/webApp1
ProxyPassReverse /webApp1 https://localhost:1234/webApp1

ProxyPass /webApp2 https://localhost:1234/webApp2
ProxyPassReverse /webApp2 https://localhost:1234/webApp2

其中 1234 是在 tomcat 的 server.xml 文件的连接器元素上配置的 https 端口。

假设我只想要 webApp1 的 mTLS,这个配置的问题是即使我正在访问 webApp2,我的浏览器上也需要一个客户端证书,所以换句话说,我只想为一个 Web 应用程序启用 mTLS。更好的是,我想在我的 Web 应用程序中为特定 URL 启用 mTLS(这甚至可能吗??),例如,当有人点击 https://myserver.com/webApp1/test/mtlsEndpoint 而不是 https://myserver.com/webApp1/test/otherEndpoint 时,我希望需要 mTLS。

是否可以在我的 ssl.conf 上使用另一个用于 SSL 的 VirtualHost 配置来实现这一点?我明天将对此进行测试(尝试使用另一个将 mTLS 代理到我的 webApp1 的 VirtualHost 配置来实现这一点)但我认为我也应该在这里询问以避免反复试验和重新发明轮子,这可能比我想象的更容易?

【问题讨论】:

    标签: apache tomcat ssl reverse-proxy mutual-authentication


    【解决方案1】:

    是的,您只需要为webApp1webApp2 使用单独的 SSL 指令。 SSL 指令可以在 Apache 中配置到目录级别。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-23
      • 2020-01-07
      • 2017-02-20
      • 2011-02-06
      • 1970-01-01
      • 1970-01-01
      • 2015-10-10
      • 1970-01-01
      相关资源
      最近更新 更多