我需要使用greenlock-express保护* .keytap.xyz。我的DNS是DigitalOcean,我使用的是greenlock插件,但是无论是否插入,都会出现错误:
Fetching certificate for '*.keytap.xyz' to use as default for HTTPS server...
Unhandled rejection Error: invalid SNI
我正在使用2.6.7版的greenlock-express和2.1.0版的le-challenge-digitalocean。
我的代码是:
var leChallengeDigitalOcean = require('le-challenge-digitalocean').create({
debug: false,
doApiKey: 'xxxxxxxxxxxxxx'
});
require('greenlock-express').create({
server: 'https://acme-staging-v02.api.letsencrypt.org/directory',
challengeType: 'dns-01',
challenges: {
'dns-01': leChallengeDigitalOcean
},
email: 'archie@serveradmin.xyz',
agreeTos: true,
confDir: '~/.config/acme',
approveDomains: ['*.keytap.xyz'],
app: app
}).listen(80, 443);
我什至不知道SNI是什么。预先感谢。
答案 0 :(得分:0)
SNI代表服务器名称指示(请参阅link)。
基本上,它允许多个网站在具有不同证书的同一ip /端口对中运行。域名未加密,因此Web服务器可以根据域名重定向每个请求到相关站点。
我认为您的错误是因为侦听器正在等待服务器名称/域名,而您却给了它一个通配符。
确定要使用通配符证书或SNI吗?