多个子域的通配符 SSL 证书

Wildcard SSL certificates for multiple subdomain

我有一个包含多个客户端的系统。每个客户端都有自己的子域。

client1.example.com
client2.example.com
...

在服务器端,所有请求都被重定向到 *.example.com 然后我的业务逻辑读取子域(如 client1)并给出响应相应的客户。

所以基本上,我配置服务器上的每个子域。我只是将它添加到我的数据库中,我的代码会正确处理它。

我正在尝试将通配符 SSL 证书应用于所有这些子域。另外,我希望所有未来的客户都能自动获得 https.

但我不知道如何配置它。我试过使用 Let's Encrypt,但没有成功。实际域 example.com 获得 https 但不是客户端域。

任何有关配置的帮助都会很有帮助。 或者,可能是这种设置是不可能的。我不知道。

请帮忙。

P.S。 example.com 只是我指的虚拟域。

P.P.S。我在 Ubuntu 16.04 x64

上使用 apache2 网络服务器

嗯,这是可能的。我现在有 *.example.com 的证书,它适用于我所有的任意子域,即

client1.example.com
client2.example.com
...

我遵循了这些步骤:

$ wget https://dl.eff.org/certbot-auto
$ chmod a+x ./certbot-auto

$ sudo ./certbot-auto certonly \
--server https://acme-v02.api.letsencrypt.org/directory \
--manual --preferred-challenges dns \
-d *.example.com

然后使用在 /etc/letsencrypt/live/example.com/ 创建的文件,我更新了控制面板中的值(我使用 Vestacp

cat /etc/letsencrypt/live/example.com/cert.pem
^ Copy contents into “SSL Certificate” field.

cat /etc/letsencrypt/live/example.com/privkey.pem
^ Copy contents into “SSL Key” field.

cat /etc/letsencrypt/live/example.com/chain.pem
^ Copy contents into “SSL CA / Intermediate” field.

根据您的控制面板进行更改。

按照 this article 了解详细步骤和说明。