0

我需要用 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 是什么。提前致谢。

4

1 回答 1

0

SNI 代表服务器名称指示(参见链接)。

基本上,它允许多个网站使用不同的证书在同一个 ip/port 对中运行。域名未加密,因此网络服务器可以根据域名将每个请求重定向到相关站点。

我认为您的错误是因为侦听器正在等待服务器名称/域名,而您正在给它一个通配符。

您确定需要通配符证书或 SNI 吗?

于 2019-01-30T15:58:35.117 回答