来自 Java 应用程序的 Apache 证书身份验证和授权

Certificate Authentication and Authorization with Apache from a Java Application

我有一个 Apache 服务器,它在将请求转发到第二个服务器之前处理身份验证和授权。

从浏览器访问服务器的用户正在使用 LDAP 进行身份验证,并且授权检查用户名是否存在于定义的文件中。

我还有一个 Java 应用程序可以访问服务器(在不同的端点),它目前将用户名和密码硬编码到请求中 URL 并利用基于 SSL 的基本身份验证。

除了使用基本身份验证,是否可以将 Apache 配置为接受来自 Java 应用程序的 keystore/truststore 和证书 CN 上的 authenticate/authorize 和密码?如果是这样,谁能举个例子?

您可以将 Apache 配置为请求客户端证书身份验证并使用 +FakeBasicAuth SSLOption 以保持与当前设置的兼容性。

如果 Java 应用程序可以限制到某些 URL,那么您可以 要求 证书身份验证,否则使其 可选 因为您不希望您的其他客户端必须使用证书进行身份验证。

在 Apache 文档的 SSL/TLS - How-To 中有很好的例子。