我正在从事2人纸牌游戏。面向客户的两个页面托管在Github页面上,而节点服务器则在AWS上运行。
当我在本地查看客户端页面时,一切正常,但是当我尝试在Github页面上打开它们时,出现此错误:
混合的内容:“”页面已通过HTTPS加载,但请求了不安全的XMLHttpRequest端点“”。该请求已被阻止;内容必须通过HTTPS提供。
因此,然后我将连接URL更改为包含http s ,如下所示:
import pandas as pd
import json
json_str = """[
{
"code": 0,
"data": [{
"id":"111",
"date":"1441326063"
},
{
"id":"132",
"date":"1441526112"
}],
"account_id": 0
},
{
"code": 0,
"data": [{
"id":"111",
"date":"1441326063"
},
{
"id":"132",
"date":"1441526112"
}],
"account_id": 0
}
]"""
json_dict = json.loads(json_str)
df = pd.DataFrame([d for y in json_dict for d in y['data']])
我收到此错误:
index.js:83 GET https://ec2-18-191-142-129.us-east-2.compute.amazonaws.com:3000/socket.io/?EIO=3&transport=polling&t=N71Cs6c net :: ERR_SSL_PROTOCOL_ERROR
这是我的安全组:
我需要对SSL证书做些什么吗?我目前的设置是否有可能,因为我无权访问我所托管的域(Github Pages)。如果无法进行在线服务,我可以托管我的客户代码并获得SSL证书,还是必须购买域名并托管?欢迎任何帮助,但请尝试解释一下,因为我对这一切还很陌生。谢谢。
答案 0 :(得分:1)
Ec2不支持这样的https(“开箱即用”)。
有多种方法可以实现,但是我建议您创建一个应用程序负载平衡器(https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html),然后在其上配置https(https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html)。
其他解决方案可以使用Cloudfront,或直接在实例(https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/SSL-on-amazon-linux-2.html)上配置https。
希望如此。
答案 1 :(得分:1)
如alcyon所述,从HTTP更改为HTTPS不会使您的应用程序通过HTTPS运行。有很多方法可以实现这一目标。在https://aws.amazon.com/premiumsupport/knowledge-center/configure-acm-certificates-ec2/上查看AWS的详细使用指南。