我已经自己制作了'key.pem'和'cert.pem'。然后直接使用阮一峰先生的代码:
var https = require('https');
var fs = require('fs');
var options = {
key: fs.readFileSync('key.pem'),
cert: fs.readFileSync('cert.pem')
};
var a = https.createServer(options, function (req, res) {
res.writeHead(200);
res.end("hello world\n");
}).listen(8000);
结果是,所有的浏览器都不能正常访问。有些浏览器经过询问之后,可以继续访问页面。但是微信端却没有反应。
请问,我如何使各种浏览器正常的访问我的https页面?
特别是微信端可以正常访问我的https页面?
自签证书不被信任,你需要使用受信任的证书。
免费证书有:
StartSSL
Let's Encrypt
WoSign(国内证书)
低价证书:
Comodo PositiveSSL
其中
StartSSL
和Comodo PositiveSSL
是1年有效期;Let's Encrypt
是90天有效期,但支持自动renew。不过不管申请哪一家的证书你都需要有一个自己的域名。
免费证书中StartSSL时效较长,但是申请较为复杂。
Let's Encrypt 申请比较简单,可以通过acme_tiny这个小工具来进行申请,这里是使用教程。
沃通(WoSign)证书也是
一年有效期(现已支持两年有效期),申请过程全中文,也值得推荐。点此申请