从Apache到Wildfly的SSL重定向

xxl*_*ali 4 apache ssl jboss wildfly wildfly-8

我在Wildfly-8上运行了两个项目,每个项目都有两个SSL证书和一个IP.

我发现我应该有一个IP用于一个SSL证书.

但我需要将这两个SSL用于一个IP.我找不到使用Wildfly的方法,但有一种方法可以使用Apache Server.所以,我将Apache Server安装到Wildfly.

我在Apache上听https端口(443)并将其重定向到Wildfly的http端口(我使用8080).它没有任何问题.

我想知道的是什么;

1. Is Apache decrypt request and redirect it to Wildfly?
2. Is it correct way to do it or I have done it by chance?
3. Does this method create a security hole?
Run Code Online (Sandbox Code Playgroud)

我用Google搜索了一些,但我找不到满意的答案.

谢谢你的回复.

jpk*_*ing 7

对于这个答案,我假设通过"重定向"你的意思是"代理":Apache接收请求,代理它到Wildfly,从Wildfly接收答案,将答案发送给客户端.

如果你的意思是别的,那么简单的答案是:它是错误的[1].

  1. Apache解密请求并将其重定向到Wildfly吗?

是.Apache将从客户端接收和发送安全数据.它与Wildfly的通信将是明文.

  1. 这样做是正确的还是我偶然做到了?

这就是通常的做法,是的.换句话说:Wildfly前面的负载均衡器和/或代理(在您的情况下为Apache).Wildfly本身并非直接通过公共互联网到达.

  1. 这种方法是否会产生安全漏洞?

就像其他一切都是安全"妥协"一样.在这种情况下,您以更实用/可管理的架构的名义信任您的内部网络.如果您不信任您的内部网络,则应该寻找其他解决方案.在一般情况下,支付的价格对我来说似乎是公平的,因为你"只"对你的Apache和Wildfly之间的中间人开放.因此,如果您信任您的内部网络,您应该相信那里不会有任何MITM.

编辑

[1] - 作为生活中的其他事物,没有绝对真理.基本上,有三种技术可以在这样的场景中使用:传递,边缘和重新加密.

  • 通过是一个"哑"管道,代理人不知道TLS的任何信息.然后Wildfly将处理与客户端的安全通信.我不确定Apache会这样做,但这可以haproxy在TCP模式下完成;
  • 边缘(或卸载)是我上面描述的情况:客户端与Apache谈论TLS,Apache与Wildfly谈论明文;
  • 重新加密,就像Edge一样,但Apache和Wildfly之间的通信也是TLS,使用不同的证书.