Https 与鹈鹕混合的内容物

Https 与鹈鹕混合的内容物,https,cloudflare,pelican,Https,Cloudflare,Pelican,TL;博士 我的鹈鹕是通过HTTPS提供服务的,但由于“混合内容”,CSS不会加载,即使它们在页面源代码中显示为HTTPS 上下文 我在GitHub页面上有一个Pelican博客。我有一个自定义域的CNAME记录指向这个博客 目的 我正试图通过HTTPS实现此博客的服务,这是可能的(GitHub支持人员告诉我这是目前唯一的解决方案) 问题 在按指示设置所有内容后,我可以安全地访问我的博客,但CSS不会加载,因为它们被指示为混合内容 但是,当我查看页面源代码时,所有CSS都应该使用HTTPS(因

TL;博士

我的鹈鹕是通过HTTPS提供服务的,但由于“混合内容”,CSS不会加载,即使它们在页面源代码中显示为HTTPS

上下文 我在GitHub页面上有一个Pelican博客。我有一个自定义域的CNAME记录指向这个博客

目的 我正试图通过HTTPS实现此博客的服务,这是可能的(GitHub支持人员告诉我这是目前唯一的解决方案)

问题 在按指示设置所有内容后,我可以安全地访问我的博客,但CSS不会加载,因为它们被指示为混合内容

但是,当我查看页面源代码时,所有CSS都应该使用HTTPS(因为它包含在协议相关URL中):


...
我已尝试将Pelican
SITEURL
变量设置为
//nonatomiclabs.github.io
https://nonatomiclabs.github.io
这不会改变任何事情(因此问题不是由于使用了协议相关URL)

CloudFlare还有一个“自动HTTPS重写”功能,该功能应该可以消除/减少混合内容问题,但对我的情况没有帮助

问题
  • 浏览器(至少包括Chrome和Safari)如何显示带有HTTPS或协议相关URL的页面源,但这些URL似乎不受尊重
  • 谁对这个问题“负责”?Pelican、CloudFlare、浏览器等
  • 如何解决这个问题

  • 如果需要查看代码:

    • 该网站的网址为
    • 源代码可以在
      • source
        分支包含鹈鹕源代码
      • master
        分支包含已发布的站点

    对您的问题的回答:

  • 这很可能不是因为浏览器不尊重HTTPS URL,而是域重定向导致了未加密的HTTP链接

  • GitHub页面、CloudFlare和相关域重定向的某些组合很可能是问题的原因

  • 可能的解决办法如下

  • 首先,尝试在您的内部使用
    https:
    显式地预先设置静态资产链接,而不是依赖
    SITEURL
    设置,然后查看是否有任何更改

    第二,唯一失败的资源是从开始的资源——似乎对该域的请求正在被重新定向,而重新定向可能是问题的原因。尝试使用不重新定向的域。例如:

    <link href="https://www.nonatomiclabs.com/theme/css/local.css" rel="stylesheet">
    [...]
    
    
    [...]
    
    值得一提的是,对于我的个人网站,我的base.html模板的CSS链接看起来类似于。我在publishconf.py设置文件中将我的
    SITEURL
    设置设置为,结果输出包含正确的、完全限定的链接(即非协议相关链接),不会产生混合内容警告

    顺便说一句,因为它们在无处不在的TLS世界中基本上已经过时,尤其是今年7月。)


    另一方面,有迹象表明,您最终可能能够在不使用CloudFlare的情况下通过HTTPS为您的站点提供服务。

    谢谢您的回答!通过设置SITEURL=“”,我已经尝试使用HTTPS URL了,但也没有帮助。如果您访问实际的网站并查看页面的源代码,似乎所有CSS都包含在HTTPS中。这确实是我不理解的地方。我在base.html中硬编码了URL,但它似乎没有改变任何东西:(唯一失败的资源是那些以
    https://nonatomiclabs.github.io
    -该域的资源请求似乎被重新定向到
    https://www.nonatomiclabs.com
    ,重新定向可能是问题的原因。我更新了答案以说明这种可能性。我d将CloudFlare的SSL选项从“完整”更改为“灵活”,它可以工作。我很想知道解决这个问题的另一种方法,但我花了足够的时间,我想我最终还是会迁移到GitHub管理的HTTPS。无论如何,感谢您的快速回答,并感谢您的Pelican!:)
    <link href="https://www.nonatomiclabs.com/theme/css/local.css" rel="stylesheet">
    [...]