子域名的通配符证书?

时间:2016-12-15 05:09:58

标签: ubuntu ssl nginx lets-encrypt

我处于必须使用HTTPS的情况。 (chrome决定在HTTP中停止getUserMedia。)

问题是,是否可以分配通配符域? 这是我的一些网站

1 test.nfgold.me
1 slave.nfgold.me
3 *.nfgold.me

目前没有使用 HTTPS ,我在我的nginx中有以下配置:

server {
    server_name *.nfgold.me;-
    charset utf-8;

    .....
}

这一切都有效。

我在我的一些项目中使用过letsencrypt,但目前似乎没有使用外卡?

我尝试了以下配置,但它不起作用:

server {
        server_name .nfgold.me;
        rewrite ^ https://*.nfgold.me$request_uri? permanent;
    }

server {
        server_name .nfgold.me;
        rewrite ^ https://*.nfgold.me$request_uri? permanent;
    }

server {
    listen 443;
    server_name *.nfgold.me;-
    charset utf-8;

    ssl on;
    ssl_certificate /etc/letsencrypt/live/nfgold.me/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/nfgold.me/privkey.pem;
    ....
    }

有替代方案吗?任何建议。

3 个答案:

答案 0 :(得分:2)

  

有替代方案吗?任何建议。

虽然Let's Encrypt没有为您提供通配符证书,但您可以拥有包含多个子域的证书。来自their FAQ

  

我可以获得多个域名证书(SAN证书或UCC证书)吗?

     

是的,同一证书可以使用主题备用名称(SAN)机制包含多个不同的名称。

当然,您可以在其他地方购买通配符证书,即许多CA提供这些证书。

答案 1 :(得分:1)

我尝试创建一个详细的帖子,解释如何创建通配符认证。希望这篇文章能帮到你:

sudo certbot certonly \
  --cert-name mydomain.com \
  --dns-digitalocean \
  --dns-digitalocean-credentials ~/.secrets/do_token.ini \
  --server https://acme-v02.api.letsencrypt.org/directory \
  -d "*.mydomain.com" \
  -d mydomain.com \
  -i nginx

详细信息可以在这里找到: https://huogerac.hashnode.dev/add-wildcard-https-on-digital-ocean-using-certbot-ubuntu-20-nginx-cko511nxv04in83s15uxxbeea

答案 2 :(得分:0)

在加密时使用通配符子域尝试此操作,使用DNS验证。

sudo certbot -d *.example.com --manual --preferred-challenges dns certonly

此后,您必须手动将证书路由添加到服务器块。