我开发了一个需要 SSL 客户端证书的 Java 应用程序,在 apache 2.2 和 mod_jk 的临时环境中,它运行良好。在生产环境中,配置不是使用 mod_jk,而是使用 mod_proxy_ajp。我正在寻找一个 apache 配置示例,该示例配置 SSL 和 mod_proxy_ajp,以便将 SSL 客户端证书发送到 Java 应用程序服务器(使用 ajp 协议进行侦听)。非常感谢
答案1
使用mod_proxy_ajp,您需要设置RequestHeader
指令以传递 SSL 参数。只需参考 Apache文档例如在<Location>
或<VirtualHost>
部分中设置指令。
答案2
我设置了一个 apache 网络服务器,我发现 mod_ajp 无需明确配置即可转发客户端证书。我的 apache 配置是 SSLEngine on SSLOptions +StdEnvVars +ExportCertData ProxyRequests Off SSLVerifyClientoptional_no_ca Allow from All ProxyPass /sportellosociale ajp://localhost:8009/sportellosociale ProxyPassReverse /sportellosociale ajp://localhost:8009/sportellosociale*
我省略了 SSLCertificate 指令
答案3
我的配置如下(虽然这个配置破坏了我创建的任何附加 mod_rewrite 规则……而我不知道为什么):
<Location />
ProxyPass ajp://localhost:8009/
ProxyPassReverse ajp://localhost:8009/
</Location>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Redirect permanent / https://mysite.com/myapp?user=