Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssl 使用TLS和PEM证书从Axios.js到HTTPS服务器的HTTPS请求_Ssl_Flask_Https_Axios_Pem - Fatal编程技术网

Ssl 使用TLS和PEM证书从Axios.js到HTTPS服务器的HTTPS请求

Ssl 使用TLS和PEM证书从Axios.js到HTTPS服务器的HTTPS请求,ssl,flask,https,axios,pem,Ssl,Flask,Https,Axios,Pem,我无法执行从Axios.js到HTTPS服务器的HTTPS请求 我认为原因可能与Axios.js对象的配置方式有关,因为我看到请求使用的是HTTPS+PEM证书,但我看不出Axios.js实例配置错误的任何原因(请参阅) 运行Javascript代码时我看到的错误是error:self-signed certificate,这在我看来很奇怪,因为我认为HTTPS客户端应该使用PEM证书作为自签名证书(例如,像web浏览器)。 在这里和这里检查HTTPS代理,我似乎应该将rejectUnautho

我无法执行从Axios.js到HTTPS服务器的HTTPS请求

我认为原因可能与Axios.js对象的配置方式有关,因为我看到请求使用的是HTTPS+PEM证书,但我看不出Axios.js实例配置错误的任何原因(请参阅)

运行Javascript代码时我看到的错误是
error:self-signed certificate
,这在我看来很奇怪,因为我认为HTTPS客户端应该使用
PEM
证书作为自签名证书(例如,像web浏览器)。 在这里和这里检查HTTPS代理,我似乎应该将
rejectUnauthorized
设置为
false
。如果我这样做,然后删除那些字段
cert
key
,那么代码可以工作,但这意味着根本不使用TLS,所以我不确定TLS的意义是什么

使用Axios.js的Javascript HTTP(S)客户端:

const agent=new https.agent({
对,对,
cert:fs.readFileSync(`${uu dirname}/../../../ssl\u cert.crt`),
key:fs.readFileSync(`${uu dirname}/../../../ssl\u cert.key`),
})
const myApi=axios.create({
baseURL:'https://localhost:5000“,//烧瓶服务器
超时:10000,
标题:{
“内容类型”:“应用程序/json”
},
httpsAgent:代理,
});
已使用以下命令创建证书:

#生成两个文件:crt和key
openssl请求-新密钥rsa:4096-节点\
-密钥输出ssl_cert.key-x509-365天-输出ssl_cert.crt\
-subc“/C=GB/ST=England/L=London/O=foo/CN=foo”
#检查crt文件(例如检查有效期)
openssl x509-text-noout-in-ssl\u cert.crt
crt
键都以
----BEGIN
开头,所以我认为它们应该已经是
PEM
格式了。AFAIK我可以在从Axios.js客户端执行HTTPS请求时使用
crt
文件作为
PEM
证书

这是Python Flask服务器,作为响应Javascript前端的后端:

app=Flask(\uuuuu name\uuuuuu)
ssl_上下文=(
“{…}/./ssl_cert.crt”,
“{…}/./ssl_cert.key”,
)
运行(主机=0.0.0.0',调试=True,ssl\U上下文=ssl\U上下文)
  • 这些证书怎么了
  • 如何在Javascript客户端和Python服务器之间建立安全连接(HTTP+S)