Lai*_*kus 8 bash ssl server lets-encrypt certbot
我正在编写一个bash脚本,它在新安装的服务器中引导整个项目基础结构,我想用letcecrypt certbot配置ssl安装.我执行行后:
certbot --nginx -d $( get_server_name ) -d www.$( get_server_name ).com
Run Code Online (Sandbox Code Playgroud)
我被提示几个问题.可以在没有任何交互的情况下运行certbot,同时将一些参数作为参数或其他东西传递吗?
mat*_*tch 21
您可以通过添加以下选项来"静默"运行certbot:
--non-interactive --agree-tos -m webmaster@example.com
Run Code Online (Sandbox Code Playgroud)
完整的配置选项列表可在此处获得:
https://certbot.eff.org/docs/using.html
Jes*_*les 16
Certbot 提供了几个内联标志和“子命令”(它们的昵称),可以帮助使用 Bash 或 shell 脚本自动生成免费 SSL 证书的过程。
@match 提到的最相关的标志是:
--noninteractive ……或者…… --non-interactive然而实际上这个标志并不是很有用,因为它没有多大用处。例如,如果脚本中缺少关键标志,则证书仍将无法生成。坦率地说,我认为 Certbot 取消上述标志会更好,因为它具有误导性。
以下是所需的最低标志:
--agree-tos--register-unsafely-without-email ...或者... -m username@example.com-d example.com 和/或 -d www.example.com您还必须指定您想要的 Let's Encrypt安装程序插件(环境)类型,例如您可以从“独立”或“手动”等中进行选择……对于大多数情况,例如 WordPress Web 服务器,您应该选择“webroot”以便 Certbot 可以通过公共根轻松验证所有权(确保访问/.well-known*不被阻止):
--webroot -w /var/www/html/
Run Code Online (Sandbox Code Playgroud)
这是我们在 SlickStack 中用来安装 SSL 证书的完整命令:
## install Certbot SSL certificate ##
certbot certonly --noninteractive --agree-tos --cert-name slickstack -d ${SITE_TLD} -d www.${SITE_TLD} -d staging.${SITE_TLD} -d dev.${SITE_TLD} --register-unsafely-without-email --webroot -w /var/www/html/
Run Code Online (Sandbox Code Playgroud)
在我们的例子中,我们硬编码--cert-name是slickstack因为安装在每个VPS服务器上的网站只有一个,所以它使其他服务器管理任务(和脚本)更易于管理。但是,如果您在同一台服务器上安装多个域和 SSL 证书,您可以更改子命令--cert-name以在每个 TLD 域后命名,等等。这会影响 SSL 目录名称,从而有助于保持您的文件/文件夹整洁.
| 归档时间: |
|
| 查看次数: |
4984 次 |
| 最近记录: |