我得到这个错误,当我试图设置Facebook的Messenger Messenger的webhookurl:
该url无法validation。 回叫validation失败,出现以下错误:curl_errno = 60; curl_error = SSL证书问题:证书链中的自签名证书; HTTP状态码= 200; HTTP消息=连接已build立
首先我创build了证书。
1)我使用这个configuration文件并创build了certificete权限:
如何发送来自Linux控制台的Facebook消息(命令行)
openssl req -new -x509 -days 9999 -config ca.cnf -keyout ca-key.pem -out ca-crt.pem
openssl genrsa -out server-key.pem 4096
然后我使用这个configuration文件生成证书签名请求
openssl req -new -config server.cnf -key server-key.pem -out server-csr.pem
之后,我执行命令:
openssl x509 -req -extfile server.cnf -days 999 -passin "pass:password" -in server-csr.pem -CA ca-crt.pem -CAkey ca-key.pem -CAcreateserial -out server-crt.pem
我没有configuration文件中的任何属性。 然后通过这种方式在Windows服务器上安装我的证书
在我的Node.js应用程序中,我使用这个选项创build了https服务器:
var server = https.createServer({ ca: fs.readFileSync('sslcert/ca-crt.pem','utf8'),key: fs.readFileSync('sslcert/server-key.pem',cert: fs.readFileSync('sslcert/server-crt.pem','utf8') },app); server.listen(port);
而当我试图设置webhook我上面的错误。 如果我在浏览器上打开我的webhookurl,
NET::ERR_CERT_AUTHORITY_INVALID
没错,由于您的自签名证书位于证书链中,因此无法验证网址。 这是预期的行为。
自签名证书只适用于加密连接,但是他们没有传达证明第三方验证的另一个重要部分,即提供者是谁,他们是谁,这就是验证。
您需要获取带有此验证的证书以验证您的回叫网址。 你可以从一个有信誉的供应商那里购买一个,或者你可以使用像StartSSL这样的服务免费获得一个服务(我没有任何关联,我刚刚有与他们有良好的经验)。
你按照这个,然后使用letsencrypt你将得到这四个文件
1.cert.pem
2.chain.pem
3.fullchain.pem
3.privkey.pem
chain.pem是CA文件。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。