Apache 将 https 重定向到 http

Apache 将 https 重定向到 http

我们想将 apache 网站重定向到远程 tomcat 服务器,但是 tomcat 不使用 https。

apache 托管在 AWS 上,因此它确实使用 https。

我们有一个移动应用程序,其目标httpS://mypublicserver/:port和最终目标应该是http://myinternalserver/app

问题是,这可能吗?或者公共服务器和应用程序之间的加密是否丢失?(公共服务器和内部服务器之间的连接是通过 VPN 完成的)。

答案1

很多公司不使用端到端加密,但他们的配置与您的类似。BShea 是正确的,它会起作用,代理是您想要走的路线。以下是一个例子。

Tomcat 具有连接器,默认情况下会启用 HTTP 连接器。Apache 具有相同的概念,允许 HTTP 和 HTTPS 流量,默认情况下会启用 HTTP。

在 Apache 上设置 SSL 后,当请求通过未加密的连接传输到 Apache 服务器(通常是事务中唯一公开可见的部分)时,您将获得加密,并将请求转发到 Tomcat 服务器。最终用户仍然认为对 Apache 服务器的请求是安全的,使用了加密,因为该请求被代理到 Tomcat 服务器(在后台)。

完整的端到端加密涉及在 Tomcat 服务器上启用 HTTPS 连接器,这并不复杂,从而确保流量在传输过程中始终加密。(并且在代理中使用 HTTPS 协议而不是 HTTP)

综上所述,您不必在 Tomcat 上使用加密,但您实际上并不想要重定向。使用代理很简单。只需通过以下方式代理请求:

ProxyPass "/therequest/url/" "http://tomcat.server.ip.or.dns:8080/" ProxyPassReverse "/therequest/url/" "http://tomcat.server.ip.or.dns:8080/"(不要忘记加载代理模块、http_proxy 以及任何所需的东西。)

这会将 Apache 端点暴露给用户,他们看到的只是加密流量。如果您进行重定向,最终用户将退出加密模式。不要这样做。

希望这可以帮助。

相关内容