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

Traefik反向代理后Plone的混合内容问题

宋鸿云
2023-03-14

我刚刚尝试安装基于Docker的Plone,它作为反向代理在Traefik后面运行,但是当我从web浏览器访问它时,控制台上出现如下错误:

内容混合:“HTTPS://new.mydomain.id/”的页面是通过HTTPS加载的,但请求的样式表“http://fonts.googleapis.com/css?family=roboto:400,300,700”不安全。此请求已被阻止;内容必须通过HTTP提供

内容混合:“HTTPS://new.mydomain.id/”的页面是通过HTTPS加载的,但请求的样式表“http://new.mydomain.id/++resource++plone-admin-ui.css”不安全。此请求已被阻止;内容必须通过HTTPS提供。

是否有任何特殊的环境变量可以传递来使用HTTPS进行所有通信

我希望Plone也有类似的环境变量。我使用Traefik 1.7.16

共有1个答案

赏高格
2023-03-14

您需要正确配置代理重写URL,包括虚拟主机怪物(VHM)部分。这样,Zope的VHM就可以正确地重写请求。

这里可以找到Nginx的一个示例:

https://docs.plone.org/manage/deploying/front-end/nginx.html#minimal-nginx-front-end-configuration-for-plone-on-ubuntu-debian-linux

基本上,重写URL应该如下所示:

       Protocol plus domain or address of the proxied server
       |                      Protocol of frontend server
       |                      |    Domain of frontend server
       |                      |    |           Port of frontend server
       |                      |    |           |   Path to Plone site root
       V                      V    V           V   V
http://plone/VirtualHostBase/http/yoursite.com:80/Plone/VirtualHostRoot/

有关VHM的更多信息:https://zope.readthedocs.io/en/latest/zopebook/virtualhosting.html

 类似资料:
  • 我已经为运行在localhost上的节点服务器创建了一个反向代理,以便可以通过HTTPS提供服务。 然而,当应用程序试图发出请求时,我会得到: 内容混合:“HTTPS://foo.com/”的页面通过HTTPS加载,但请求了不安全的XMLHttpRequestendpoint“http://localhost:8888/graphql?query=%7bnotifications(userid)%

  • 我在Chrome Developer Tools中出现这个错误已经有一段时间了,我似乎就是找不到不安全的http://请求。它指向我的域,但没有https://。http://www.example.com/不是一个脚本,所以我不明白它是从哪里来的。 内容混杂:“HTTPS://www.example.com/categoy/a-product.html”页面是通过HTTPS加载的,但请求的脚本“

  • Laravel项目在我的开发服务器(安全的https)中运行时没有任何问题。在我的新版本中,没有加载. env文件中的新配置。然后我在StackOverflow中找到了一些解决方案,上面说要清除Laravel配置和缓存。所以我运行以下命令, 使用上述命令清除缓存后,它无法正确加载样式表和js文件,并表示“混合内容:页面在”通过HTTPS加载,但请求不安全的脚本”。此请求已被阻止;内容必须通过HTT

  • 我在考虑询问软件推荐,但后来我发现这可能是一个太奇怪的请求,需要先澄清一下。 我的观点是: 每个响应都包含一个 这是内容的哈希 并且全局唯一(具有足够的概率) 基本上,代理应该包含一个将映射到响应内容的缓存。从服务器获取,在最常见的情况下,服务器根本不处理响应内容。 它应该是这样的:代理总是向服务器发送请求,然后 1服务器只返回,代理根据它进行查找并 1.1缓存命中, 它从缓存中读取响应数据 并向

  • 我有一个RestHighLevelClient连接到一个远程elasticDB,它位于一个反向代理后面,该代理剥离了ssl。 当我打电话的时候 我得到一个握手失败的例外 正如这里和这里所描述的,我检查了日志,发现了ClientHello 服务员:你好 客户端和服务器都同意密码套件TLS_ECDHE_RSA_和_AES_128_GCM_SHA256 然后以加密和纯文本的形式跟踪请求。然后是另一个Cl

  • 问题内容: 我将会话参数存储在Struts2会话映射中,该会话映射是使用SessionAware接口在操作中获得的。我的应用程序位于/ MyApp路径中。 在具有反向代理重定向的Apache服务器上设置struts2应用程序之后,该重定向使URL http://www.appdomain.com/ 指向本地 主机 上的本地tomcat :8080 / MyApp ,Struts2会话处理不再起作用