在 Ubuntu Nginx 框上生成通配符 SSL 并替换过期的 SSL(证书和密钥)

Generating wildcard SSL on Ubuntu Nginx box and replacing expired SSL (cer & key)

我正在尝试在我的 Nginx Ubuntu AWS EC2 实例上使用 Certbot 生成通配符 Let's Encrypt SSL 证书。

Ubuntu: 16.04.5 LTS

Nginx: v1.10.3

我目前无法生成通配符 SSL,因为我收到以下错误:

An unexpected error occured:

Error creating new order : : DNS name does not have enough labels

我查看了导致此错误的常见原因,但我的请求中似乎没有任何格式错误:

cerbot -dry-run --nginx -d *.my-domain.org.uk

(当 运行 my-domain.org.uk 而不仅仅是 * 的命令时,我得到同样的错误。)

我认为错误可能源于我的 Nginx 配置。

在“/etc/nginx/”中我有 'sites-available' 和 'sites-enabled',每个都有一个 'default' 文件和一个 'my-domain.org.uk' 文件。

在 nginx.conf 我包括:

access_log /var/log/nginx/access.log;

error_log /var/log/nginx/error.log;

因此,在 'sites-enabled/default' 中,我有一个带有 443 服务器的正常配置:

server {
     listen 443 ssl; # managed by Certbot
     server_name *.my-domain.org.uk;
     root /www/html/public;
     ... etc.

此文件还包含对我现已过期的 SSL 的引用:

ssl_certificate /etc/nginx/ssl/sitename/sitename.cer;

ssl_certificate_key /etc/nginx/ssl/sitename/sitename.key;

以及一些 Certbot 配置位:

include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot

ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

如果我注释掉对过期 SSL 证书的引用并重新启动 Nginx,站点就会中断。我可以 post 更多的配置文件,但这一直像过去一样有效(现在确实有效,只是 HTTPS 损坏了)。我不确定

不确定我必须做什么才能克服这些 Certbot 错误并生成我的通配符 SSL。

答案最后是一个简单的语法错误。

-dry-run 需要 --dry-run。如果没有双破折号,它会选择 -dry.. 的开头作为 -d 并试图在之后解释 URL,导致标签错误。