Apache-2.4
如何安裝letsencrypt萬用字元證書?
我在 CentOS 7 上使用 EPEL 儲存庫中的 certbot/letsencrypt 和 apache,而“正常”域名沒有任何問題。certbot 工具可以很好地辨識虛擬主機配置文件中的伺服器名稱別名。續訂也可以正常工作。
例如,虛擬主機配置中的一行,例如:
ServerName uncovery.net ServerAlias www.uncovery.net
導致 certbot 讓我安裝/維護域名
1: uncovery.net 2: www.uncovery.net
但是,我的虛擬主機配置中的這一行:
ServerName uncovery.net ServerAlias *.uncovery.net
只顯示
1: uncovery.net
執行 certbot 時。
所以我嘗試了以下方法:
# certbot -d *.uncovery.net Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator apache, Installer apache Starting new HTTPS connection (1): acme-v02.api.letsencrypt.org Obtaining a new certificate Performing the following challenges: Client with the currently selected authenticator does not support any combination of challenges that will satisfy the CA. You may need to use an authenticator plugin that can do challenges over DNS.
我嘗試了 apache/webroot/standalone 身份驗證器,都失敗了。調試日誌指出
ConfigurationError: *.uncovery.net contains an invalid character. Valid characters are A-Z, a-z, 0-9, ., and -.
所以問題:
1)如何讓certbot的命令行界面辨識*.wildcard?
2)如果這不起作用,我該如何手動配置證書?
這是我的 certbot 版本:
Package certbot-1.0.0-1.el7.noarch already installed and latest version Package python2-certbot-apache-1.0.0-1.el7.noarch already installed and latest version
這應該工作
certbot-auto certonly --server https://acme-v02.api.letsencrypt.org/directory --manual --preferred-challenges dns -d 'uncovery.net,*.uncovery.net'
之後不要忘記指出
fullchain.pem
並privkey.pem
在您的 apache config ssl 設置中。通常,那些位於/etc/letsencrypt/live/uncovery.net/fullchain.pem
/etc/letsencrypt/live/uncovery.net/privkey.pem
如果您不更改這些,您仍然會看到自簽名證書,這是 apache 預設的自簽名 ssl 證書。