我遇到了一个很奇怪的问题。
尽管确保位于https://bioma.cz的电子商店(OpenCart 2.0.2.0)受https的完全保护,但在控制台(Ctrl + Shift + K)中却给了我以下错误:
Loading mixed (insecure) display content: "http://www.bioma.cz/image/catalog/loga/bio_vlajka.png"
我用Ctrl + U检查了页面源,以查看URL在页面源中以https开头(整个源中没有http://字符串)。在生成主页的* .tpl文件中的任何地方都没有http://字符串。
我意识到它必须(或很有可能)与OpenCart的HTML内容模块相关,因为这是我们网站中唯一引用 image / catalog / loga / bio_vlajka.png 的部分>。
虽然在OpenCart的管理中打开HTML内容模块进行编辑时,控制台也会给我同样的错误,但是,在控制台的右列中,它现在引用的是 admin / view / javascript / jquery / jquery- 2.1.1.min.js (第3行,字符16159)。
我检查了服务器上的文件(带有CentOS 6.10的VPS),并且由于我对Java语言的了解非常有限,该脚本太复杂了。第3行中字符16159周围的文件部分:
b.nodeType&&(n.cleanData(ob(b,!1)),b.innerHTML
我什至尝试在脚本中用“ https:”替换出现的“ http:”,但无济于事,所以我将脚本还原为原始版本。
在我的config.php中,我有:
// HTTP
define('HTTP_SERVER', 'https://www.bioma.cz/');
// HTTPS
define('HTTPS_SERVER', 'https://www.bioma.cz/');
在我的admin / config.php中,我有:
// HTTP
define('HTTP_SERVER', 'https://www.bioma.cz/admin/');
define('HTTP_CATALOG', 'https://www.bioma.cz/');
// HTTPS
define('HTTPS_SERVER', 'https://www.bioma.cz/admin/');
define('HTTPS_CATALOG', 'https://www.bioma.cz/');
在我的/etc/httpd/conf.d/directory.conf的bioma.cz部分中,我有:
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [R,L]
我做错了什么吗?如何防止jquery脚本通过HTTP加载内容,而是使其通过HTTPS加载?
非常感谢您
PetrBřeň
答案 0 :(得分:0)
事实证明,我在此处发布的行之前我的directory.conf语法有错误。
整个块现在是这样的:
RewriteBase /
RewriteCond %{HTTP_HOST} !^www.bioma.cz$
RewriteRule ^(.*) https://www.bioma.cz/$1 [R,L]
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [R,L]
并且我有一个绿色的挂锁:)。