我正在编写一个bash脚本,它在新安装的服务器中引导整个项目基础结构,我想用letcecrypt certbot配置ssl安装。在我执行line之后:
certbot --nginx -d $( get_server_name ) -d www.$( get_server_name ).com
我被提示几个问题。可以在没有任何交互的情况下运行certbot,同时将一些参数作为参数传递吗?
答案 0 :(得分:15)
您可以通过添加以下选项来“静默”运行certbot:
--non-interactive --agree-tos -m webmaster@example.com
此处提供了完整的配置选项列表:
答案 1 :(得分:1)
Certbot提供了多个inline flags and "subcommands"(其昵称),可以帮助自动使用Bash或Shell脚本生成免费SSL证书的过程。
@match提到的最相关的标志是:
--non-interactive
但是实际上,该标志不是很有用,因为它作用不大。例如,如果脚本中缺少关键标志,则证书仍将无法生成。坦率地说,我认为Certbot取消上述标记会更好,因为这会引起误解。
以下是所需的最低标志:
--agree-tos
--register-unsafely-without-email
...或... -m username@example.com
-d www.example.com
您还必须指定所需的Let's Encrypt installer plugin(环境)类型,例如,在大多数情况下,例如WordPress Web服务器,您可以从“独立”或“手动”等中进行选择,您应该选择“ webroot”,以便Certbot可以通过公共根轻松地验证所有权(确保未阻止对/.well-known*
的访问):
--webroot -w /var/www/html/
这是我们use in SlickStack安装SSL证书的完整命令:
## install Certbot SSL certificate ##
certbot certonly --noninteractive --webroot --agree-tos --register-unsafely-without-email -d ${SITE_DOMAIN} -w /var/www/html/