我安装了apache webserver的Amazon ec2实例。我使用Certbot安装SSl证书。我想使用javascript在我的网站上显示图像。当用户进入编辑文本框时,我想动态更改图像。我目前正在使用javascript来改变它。当我访问图像时,我收到此消息"请求不安全的图像' http://myurl.jpg'。此内容也应通过HTTPS提供。如何使用Https以便提供图像?
document.getElementById("img").src="http://myurl.jpg"
答案 0 :(得分:0)
替换为:" http://myurl.jpg" 用这个:" https://myurl.jpg"
够容易吗?
答案 1 :(得分:0)
在URL中省略协议。然后它将默认使用与页面相同的协议。因此,如果页面加载了https
,它也会使用https
作为图片,并且不会出现错误:
document.getElementById("img").src="//myurl.jpg"
答案 2 :(得分:0)
如果您希望将图像文件路径加载为HTTPS,同时仍使用相对路径,则必须设置<base href="URL"/>
。
我使用像<img src="img/xxx.png" alt="xxx">
这样的文件路径但没有设置基本URL,它默认会加载为HTTP。要解决此问题,请在脑中添加类似的内容。
<head>
<?php
$BaseDir = 'https://' . $_SERVER['SERVER_NAME'] .substr($_SERVER["SCRIPT_NAME"], 0, strrpos($_SERVER["SCRIPT_NAME"], "/") + 1);
echo '<base href="' . $BaseDir . '" />';
?>
</head>