Coldfusion 站点 - Chrome 尝试 link 到不存在的文件的 https 版本

Coldfusion site - Chrome tries to link to https version of files that don't exist

我们 运行 的几个基于 coldfusion 的站点在 Chrome 中遇到问题。

我正在使用 <link rel="stylesheet" type="text/css" href="<cfoutput>#request.rootPath#</cfoutput>_data/styles/website.css"> 来引用样式表。当我使用 Chrome 访问网站时,样式表没有加载,当我查看源代码时,link 指向 https url 而不是http.

不知何故,它认为样式表 link 应该以 https 开头,即使站点只是常规站点 http.

http://www.preston-hanley.com/http://www.fmchosp.com/

每次我使用 <cfoutput>#request.rootPath#</cfoutput>...

似乎都会返回 https

知道为什么会这样吗?我该如何解决?

搜索你的代码库,看看在哪里定义了 request.rootPath,因为我认为它不是 ColdFusion 定义的东西。它很可能是从 cgi 范围推导出来的,我昨天看到 Dave Quested 发推文说最新的 chrome 报告了 cgi.https 的一些不同内容。

引用自:https://twitter.com/davequested/status/623968823276761089

Chrome 44.0.2403.89 appears to change cgi.https behaviour in #coldfusion, now seeing https = 1, not https = off.

His workaround就是用CGI.server_port EQ 443代替。

这是Chrome bug according to Brad Wood on #CFML Slack