gpt4 book ai didi

普通 http tomcat 的 Apache ssl 前端提供不安全的内容

转载 作者:行者123 更新时间:2023-11-28 21:56:49 24 4
gpt4 key购买 nike

我们已经将 Apache 设置为普通 http jboss(tomcat) 的 ssl 前端

<VirtualHost *:5555>
ServerName my.server.com

SSLEngine on
SSLCertificateFile /x.crt
SSLCertificateKeyFile /x.pem
SSLProxyEngine on
...
...
ProxyPass / http://my.server:8080/
ProxyPassReverse / http://my.server.com:8080/
</VirtualHost>

在我们的 jsp 中我们有这样的东西:

<link href="/css/my.css" rel="stylesheet" type="text/css">

当我们加载页面时

https://my.server.com:5555

浏览器告诉我们这个页面有不安全的内容,因为它将从中加载 css

http://my.server.com:5555/css/my.css

我不想在 href 中使用绝对 URL。我可以以某种方式告诉 tomcat 使用来自 apache 的 https 而无需在 tomcat 中设置 ssl 吗?或者是在 Apache 和 Tomcat 中设置 ssl 的最佳组合?

我已经尝试了 Dirk 指出的解决方案,但它仍然无法正常工作。

服务器.xml

<Connector port="8080" protocol="HTTP/1.1" enableLookups="false" proxyPort="5555" scheme="https" secure="true" />

我仍然收到关于不安全内容的错误。是因为 struts 1.1 没有使用 request.getScheme() 还是因为 Apache 和 Tomcat 之间的通信是用普通的 http 和 Apache think

<link href="/css/my.css" rel="stylesheet" type="text/css">

应该是从

下载的
http://my.server.com:5555/css/my.css

在将其发送回浏览器之前?

提前致谢

最佳答案

我猜这个问题是您的 (tomcat) 服务器认为它仍然位于 http 地址(您可以通过查看 header 和 HTML 来确认)。

因此它在页面中包含对 http 地址的引用,而不知道请求来自 https 版本。

假设您想要所有流量 https(并且 http 路径被阻止和/或 tomcat 绑定(bind)到本地主机)- 您想要检查 http://tomcat.apache.org/tomcat-7.0-doc/proxy-howto.html至于如何告诉 tomcat 它不在它可以看到的地址,而是在您从 apache 暴露给互联网的地址(即前门)。

您所追求的是 proxyName、proxyPort 以及 scheme 和 secure。

参见 http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2007800 的选项 4 和 3 示例.

关于普通 http tomcat 的 Apache ssl 前端提供不安全的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11472966/

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