我有一个网站使用JQuery从位于https://api.lootbox.eu/的API获取信息。我正在制作的网站上有一个使用Let的加密工具创建并安装的证书。 (我按照DigitalOcean的教程进行设置)
现在,当我点击按钮进行API调用并更新网站内容时,Google Chrome会认为该证书“不安全”(显示在地址栏中)。
这是我的代码。
//when the page has fully loaded
$(document).ready(function(){
function parseResponse(data)
{
//parsing JSON...
//lets avoid the "data.data"
response = data.data;
//set the user's general profile details
$("#user_avatar").attr("src", response.avatar);
$("#comp_rank_img").attr("src", response.competitive.rank_img);
$("#comp_rank").html(response.competitive.rank);
$("#qp_level").html(response.level);
$("#qp_playtime").html(response.playtime.quick);
$("#comp_playtime").html(response.playtime.competitive);
$("#qp_wins").html(response.games.quick.wins);
$("#comp_total_games").html(response.games.competitive.played);
$("#comp_wins").html(response.games.competitive.wins);
$("#comp_losses").html(response.games.competitive.lost);
}
//goes to the Overwatch API and grabs the JSON data for processing.
function processAjax()
{
$.ajax({
url: "https://api.lootbox.eu/pc/us/JuicyBidet-1292/profile"
}).then( function(response){
parseResponse(response);
});
}
//set up the button event listener
$("#submit").click(function(e){
//prevent the button from reloading the page
e.preventDefault();
//run the ajax grabber/processor
processAjax();
});
});
(我需要学习如何在SO问题中正确格式化代码......)。
我的Chrome控制台中没有任何其他错误(“favicon”404ing除外 - 这是无关的)。
我也尝试过Microsoft Edge中的网站,我在他们的控制台中获得以下内容:
SCRIPT7002: XMLHttpRequest: Network Error 0x800c0019, Security certificate required to access this resource is invalid.
我想问题是我的代码问题,或者现在我已经检查过,API网站的证书在Chrome和Edge中均无效。
任何帮助将不胜感激。感谢。
(我知道代码很糟糕,我正在学习)
答案 0 :(得分:3)
我收到此警告"此服务器无法证明它是api.lootbox.eu;其安全证书已于6天前过期" 这可能是因为以下原因之一。
1.证书不是由第三方网站发布的。
2.第三方网站证书未更新。
3.第三方和浏览器连接不安全。
答案 1 :(得分:2)
不安全的错误是因为如果网站是通过https加载的,那么浏览器预计网页发出的所有后续调用都是安全的,但在您的情况下,您调用的网址是 http://api.lootbox.eu/pc/us/JuicyBidet-1292/profile 使用http://并且不安全因此使您的网站不安全。
<强>解决方案强>
在您的网页中随处使用https网址。