gpt4 book ai didi

SSL 相关属性的 Tomcat 连接器元素组合

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

我们的团队从供应商处继承了一个 Web 应用程序。 Web 应用程序在 Tomcat 7.0.41(目前带有 OpenJDK 1.6)上运行。我查看了 Tomcat 服务器 xml,连接器配置如下。问题是为什么使用方案 https 和 secure=true 将 SSLEnabled 设置为 false。 TC 文档说 SSLEnabled 应该是“true”,通常带有 scheme 和 secure 是这样设置的。另外(重要的)TC 服务器位于负载平衡器后面。该应用程序似乎运行良好。我应该将 SSLEnabled 更改为 true 吗?有什么想法吗?

<Connector port="8443"
protocol="HTTP/1.1"
connectionTimeout="3000"
redirectPort="443"
SSLEnabled="false"
scheme="https"
secure="true"
useBodyEncodingForURI="true"
enableLookups="false"
maxThreads="400"
maxKeepAliveRequests="100"
acceptorThreadCount="4"
acceptCount="200"
proxyPort="443"
/>

最佳答案

如果 tomcat 位于提供明文 SSL 转换的负载均衡器之后,则配置正确。除非您需要安全直接连接(绕过负载均衡器)到 tomcat(例如管理),否则您不需要在 tomcat 上使用 SSLEnabled

在这种情况下,您需要 secure=truescheme=https。如果您的 tomcat 服务器应用程序向客户端发送了一个重定向,而没有这样的方案:

response.sendRedirect(response.encodeRedirectURL(contextPath + "/rareurl") );

如果您不指定 scheme=https,tomcat 服务器将在前面加上 http。

将安全客户端重定向到不安全的 URL,通常会导致在没有客户端安全登录 session cookie 的情况下向 http 发出下一个客户端请求。在这种情况下,您最终可能会创建一个不必要的新 session ,并可能在您的客户下次请求时注销。

如果接收重定向的客户端不是真正的 http 客户端,它可能不会注意到从安全 https 到不安全 http 的切换。在这种情况下,他们可能会以明文形式广播他们的 session cookie,让坏人很容易获取登录 session 。

如果您没有 secure=true,那么 tomcat 添加到响应中的任何 cookie 都不会在 case 中“自动”添加 cookie "Secure" 属性开发人员不手动添加它的地方。

此外,如果服务器被编码为基于安全属性将 http 重定向到 https,那么当它查询请求以查看请求是否安全时,如果您没有 secure=true,它会认为它是不安全的。如果第三方 jar 查询连接(例如 Adob​​e Flash Gateway),它也可能导致问题

关于SSL 相关属性的 Tomcat 连接器元素组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35610779/

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