gpt4 book ai didi

java - 将 ssl 处理从 Tomcat 转移到 Apache?

转载 作者:行者123 更新时间:2023-11-28 22:19:17 24 4
gpt4 key购买 nike

在我工作的组织中,我们无法将 Tomcat 用于 SSL,因为他们的策略是通过托管 Apache 实例进行所有身份验证。在这种情况下,mod_ssl 与 mod_jk 结合使用,根据 http://httpd.apache.org/docs/trunk/mod/mod_ssl.html,“REMOTE_USER”设置为“SSL_CLIENT_S_DN_CN” .

我正在处理的 Web 应用程序 (Alfresco) 是根据 Tomcat 容器上的 SSL 预期设计的,角色映射发生在 Tomcat 中,但我不确定如何使用 mod_ssl 使其工作。

来自web.xml ,我正在处理的设置是:

   <security-constraint>
<web-resource-collection>
<web-resource-name>SOLR</web-resource-name>
<url-pattern>/wcs/api/solr/*</url-pattern>
</web-resource-collection>

<auth-constraint>
<role-name>repoclient</role-name>
</auth-constraint>

<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>

<login-config>
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Repository</realm-name>
</login-config>

<security-role>
<role-name>repoclient</role-name>
</security-role>

如有任何建议,我们将不胜感激。我环顾四周,看看是否有任何关于如何处理这个问题的提示,但我没有太多运气。

最佳答案

使用带有 mod_jk 或 mod_proxy_ajp 的 apache 作为终止 SSL 端点是没有问题的。 Alfresco 的 tomcat 配置了 SSL 以保护 alfresco 存储库和 Solr 搜索引擎之间的通信,因此您不应该触摸 8080 或 8443 的 tomcat 配置,以免破坏 Solr 的通信(ssl 证书用于身份验证 - 所以不要'只要你知道自己在做什么,就不要碰它)。

改为在 tomcat 的 server.xml 中添加或注释 ajp 连接器。例如

    <!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" address="1.2.3.4" protocol="AJP/1.3" redirectPort="8443" scheme="https" proxyPort="443" secure="true" URIEncoding="UTF-8" maxThreads="500" maxSavePostSize="-1" />

此外,最佳做法是为 8080 和 8443 连接器添加一个参数 address="localhost"以隐藏服务器外部的端口。

在这里您可以找到如何配置 apache 代理:https://serverfault.com/questions/472491/how-to-set-up-alfresco-share-behind-apache-reverse-proxy

关于java - 将 ssl 处理从 Tomcat 转移到 Apache?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28772224/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com