当前位置: 首页 > 知识库问答 >
问题:

Apache和SSL背后的Tomcat

阎咏思
2023-03-14

我一直四处寻找,但无法为以下情况找到明确的解决方案:

我们有一个web应用程序(Grails+Spring Security),它在Apache后面的tomcat中运行。应用程序的一部分需要在https上运行,因此使用Spring Security Channel Security,只要您导航到应用程序的一部分是安全的,Spring就会将您重定向到https,状态代码为302。

现在问题出现在将apache放在Tomcat前面的时候。我们目前所拥有的apache配置对于应用程序的非安全部分很好地工作。我们使用mod_jk代理apache和Tomcat。

但是,只要您试图转到应用程序的安全部分,Spring就会重定向您,它就会击中

<VirtualHost _default_:443> ... </VirtualHost>

apache配置的一部分...问题就从这里开始。

我们使用Apache 2.2和tomat 7.0.27

谢谢

共有1个答案

叶淇
2023-03-14

您不能仅仅将SSL/TLS流量从Apache中继到Tomcat。或者您的SSL连接在Apache结束,然后您应该将流量反向代理到Tomcat(在这种情况下SSL很少有用),或者您让客户机直接连接到Tomcat,并让它处理SSL连接。

我不确定您是从哪里读到mod_jk可以将SSL连接本身传递给Tomcat的。它需要直接中继套接字,因此绕过mod_jk使用的AJP协议(顺便提一下,mod_proxy_ajp是新的方法,甚至mod_proxy_http)。

如果希望Tomcat处理SSL请求,我不确定为什么要让Apache位于Tomcat前面。如果这与端口号有关,请使用防火墙规则将端口443转发到Tomcat端口。

此外,要注意这些从HTTP到HTTPS的自动重定向的执行方式:它们只发生在发出初始HTTP请求之后。

 类似资料:
  • 我刚刚下载了Maven,并尝试运行“Maven in Five minutes”页面(http://Maven.apache.org/guides/getting-start/maven-in-five-minutes.html)上的简单命令。这是命令: 当我运行它时,我得到一个SSL证书错误,无法从https://repo.Maven.apache.org/maven2的中央Maven存储库下载

  • 防火墙:终止https,添加“x-forwarded-proto:https”,通过http转发到Apache Apache:通过ajp转发到Tomcat Tomcat:通过ajp-connector接收请求 我们已经将RemoteIpValve添加到Tomcat的server.xml中: 如果我们跳过Apache,直接从防火墙转到使用常规HTTP连接器的Tomcat,它就可以工作。在这种情况下,

  • 我在谷歌上冲浪,没有找到任何具体的答案或例子,所以再次尝试我的运气在这里(经常是幸运的)。 问题所在 > 我在apache反向代理后面运行了一个spring boot RESTful服务。此RESTful服务只运行HTTP。假设它运行在本地IP172.S端口8080上。 我还配置了一个apache反向代理。假设它运行在本地IP172.a和公共IP55.a上。该代理响应两个端口80,但所有HTTP通

  • Apache-SSL 是一个基于 Apache 的安全的 Web 服务器,提供 128 位加密,客户端认证和模块化API。

  • 问题内容: 我正在尝试运行以下docker命令: 但是我得到了错误: 我知道我们公司会为https请求即时替换SSL证书。 我尝试通过以下方式来信任我们公司的CA证书: 和 但是它仍然无法正常工作。 有任何想法吗? 问题答案: 要将docker配置为与代理系统一起使用,您首先需要将HTTPS_PROXY / HTTP_PROXY环境变量添加到docker sysconfig文件中。但是,取决于您使

  • 我有一个在AWS上运行的项目。结构如下: 我已使用AWS证书管理器为负载平衡器创建了一个证书。所以现在的流量是: 但由于加载网页时实例上没有证书,因此会收到“站点不安全”警告。 如何创建从客户端到负载均衡器后面的任何实例的完整SSL连接? 编辑 以下是nginx配置(适用于所有实例)