


新しいドメインを取得したのでLet’s Encryptのワイルドカード証明書を発行してみました。
ACME v2 Production Environment & Wildcards
https://community.letsencrypt.org/t/acme-v2-production-environment-wildcards/55578
ワイルドカード証明書の発行にはDNS-01チャレンジが必要なのでドメインの権威DNSの設定が必要になります。
DNS-01 チャレンジ
https://letsencrypt.org/ja/docs/challenge-types/#dns-01-チャレンジ
ワイルドカード証明書を取得するためにはACMEクライアントが必要になります。
ACME Client Implementations
https://letsencrypt.org/docs/client-options/#acme-v2-compatible-clients
推奨はCertbot
環境
・CentOS Linux release 7.9.2009 (Core)
・Kernel 3.10.0-1160.6.1.el7.x86_64
- epel repositoryのインストール
- certbotのインストール
- 証明書の発行
certbotはepel repositoryに含まれていますのでepel-releaseをインストールします。
| 1 | # yum -y install epel-release | 
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | [root@centos7 ~]# yum info certbot Available Packages Name        : certbot Arch        : noarch Version     : 1.9.0 Release     : 1.el7 Size        : 46 k Repo        : epel/x86_64 Summary     : A free, automated certificate authority client URL         : https://pypi.python.org/pypi/certbot License     : ASL 2.0 Description : certbot is a free, automated certificate authority that aims             : to lower the barriers to entry for encrypting all HTTP traffic on the internet. [root@centos7 ~]# yum install certbot Resolving Dependencies --> Running transaction check ---> Package certbot.noarch 0:1.9.0-1.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================================================================  Package                       Arch                         Version                            Repository                  Size ================================================================================================================================ Installing:  certbot                       noarch                       1.9.0-1.el7                        epel                        46 k Transaction Summary ================================================================================================================================ Install  1 Package Total download size: 46 k Installed size: 101 k Is this ok [y/d/N]: y Downloading packages: certbot-1.9.0-1.el7.noarch.rpm                                                                           |  46 kB  00:00:01 Running transaction check Running transaction test Transaction test succeeded Running transaction   Installing : certbot-1.9.0-1.el7.noarch                                                                                   1/1   Verifying  : certbot-1.9.0-1.el7.noarch                                                                                   1/1 Installed:   certbot.noarch 0:1.9.0-1.el7 Complete! [root@centos7 ~]# rpmquery --list certbot /etc/letsencrypt /etc/sysconfig/certbot /usr/bin/certbot /usr/bin/letsencrypt /usr/lib/systemd/system/certbot-renew.service /usr/lib/systemd/system/certbot-renew.timer /usr/share/doc/certbot-1.9.0 /usr/share/doc/certbot-1.9.0/CHANGELOG.md /usr/share/doc/certbot-1.9.0/README.fedora /usr/share/doc/certbot-1.9.0/README.rst /usr/share/licenses/certbot-1.9.0 /usr/share/licenses/certbot-1.9.0/LICENSE.txt /var/lib/letsencrypt | 
certbotを使って証明書を発行します。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | [root@centos7 ~]# certbot certonly --manual --preferred-challenges dns -d *.example.co.jp -d example.co.jp -m info@example.co.jp --agree-tos Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator manual, Installer None Starting new HTTPS connection (1): acme-v02.api.letsencrypt.org Obtaining a new certificate Performing the following challenges: dns-01 challenge for example.co.jp - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - NOTE: The IP of this machine will be publicly logged as having requested this certificate. If you're running certbot in manual mode on a machine that is not your server, please ensure you're okay with that. Are you OK with your IP being logged? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please deploy a DNS TXT record under the name _acme-challenge.example.co.jp with the following value: zaqxswcdevfrbgtnhymjukilop12345678901234567 Before continuing, verify the record is deployed. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Press Enter to Continue | 
“Press Enter to Continue”で停止しています。
この後にexample.co.jpのDNSに下記のTXTレコードを追加します。
| 1 | _acme-challenge.example.co.jp IN TXT zaqxswcdevfrbgtnhymjukilop12345678901234567 | 
ちなみにNOTE:のGoogle翻訳ですがIPが記録されると。(N)oを選択すると中止になります。
注: このマシンのIPは、この証明書を要求したことが公に記録されます。サーバー以外のマシンで手動モードで certbot を実行している場合は、それが問題ないことを確認してください。
| 1 2 3 4 5 | Are you OK with your IP being logged? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: N Cleaning up challenges Must agree to IP logging to proceed | 
DNSの設定ができたら「Enter」で証明書発行に進みます。このあたりタイミングが微妙で2回ぐらい失敗しました。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | Waiting for verification... Cleaning up challenges IMPORTANT NOTES:  - Congratulations! Your certificate and chain have been saved at:    /etc/letsencrypt/live/example.co.jp/fullchain.pem    Your key file has been saved at:    /etc/letsencrypt/live/example.co.jp/privkey.pem    Your cert will expire on 2021-02-27. To obtain a new or tweaked    version of this certificate in the future, simply run certbot    again. To non-interactively renew *all* of your certificates, run    "certbot renew"  - If you like Certbot, please consider supporting our work by:    Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate    Donating to EFF:                    https://eff.org/donate-le | 
発行された証明書は/etc/letsencrypt/live/申請ドメイン/に保存されています。
有効期限は三ヵ月、証明書が無効になる前に更新作業が必要になりますが、DNSが動的更新に対応していないと手動になります。
certbot help
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 | [root@centos7 ~]# certbot -h all usage:   certbot [SUBCOMMAND] [options] [-d DOMAIN] [-d DOMAIN] ... Certbot can obtain and install HTTPS/TLS/SSL certificates.  By default, it will attempt to use a webserver both for obtaining and installing the certificate. The most common SUBCOMMANDS and flags are: obtain, install, and renew certificates:     (default) run   Obtain & install a certificate in your current webserver     certonly        Obtain or renew a certificate, but do not install it     renew           Renew all previously obtained certificates that are near expiry     enhance         Add security enhancements to your existing configuration    -d DOMAINS       Comma-separated list of domains to obtain a certificate for   (the certbot apache plugin is not installed)   --standalone      Run a standalone webserver for authentication   (the certbot nginx plugin is not installed)   --webroot         Place files in a server's webroot folder for authentication   --manual          Obtain certificates interactively, or using shell script hooks    -n               Run non-interactively   --test-cert       Obtain a test certificate from a staging server   --dry-run         Test "renew" or "certonly" without saving any certificates to disk manage certificates:     certificates    Display information about certificates you have from Certbot     revoke          Revoke a certificate (supply --cert-name or --cert-path)     delete          Delete a certificate (supply --cert-name) manage your account:     register        Create an ACME account     unregister      Deactivate an ACME account     update_account  Update an ACME account   --agree-tos       Agree to the ACME server's Subscriber Agreement    -m EMAIL         Email address for important account notifications optional arguments:   -h, --help            show this help message and exit   -c CONFIG_FILE, --config CONFIG_FILE                         path to config file (default: /etc/letsencrypt/cli.ini                         and ~/.config/letsencrypt/cli.ini)   -v, --verbose         This flag can be used multiple times to incrementally                         increase the verbosity of output, e.g. -vvv. (default:                         -2)   --max-log-backups MAX_LOG_BACKUPS                         Specifies the maximum number of backup logs that                         should be kept by Certbot's built in log rotation.                         Setting this flag to 0 disables log rotation entirely,                         causing Certbot to always append to the same log file.                         (default: 1000)   -n, --non-interactive, --noninteractive                         Run without ever asking for user input. This may                         require additional command line flags; the client will                         try to explain which ones are required if it finds one                         missing (default: False)   --force-interactive   Force Certbot to be interactive even if it detects                         it's not being run in a terminal. This flag cannot be                         used with the renew subcommand. (default: False)   -d DOMAIN, --domains DOMAIN, --domain DOMAIN                         Domain names to apply. For multiple domains you can                         use multiple -d flags or enter a comma separated list                         of domains as a parameter. The first domain provided                         will be the subject CN of the certificate, and all                         domains will be Subject Alternative Names on the                         certificate. The first domain will also be used in                         some software user interfaces and as the file paths                         for the certificate and related material unless                         otherwise specified or you already have a certificate                         with the same name. In the case of a name collision it                         will append a number like 0001 to the file path name.                         (default: Ask)   --eab-kid EAB_KID     Key Identifier for External Account Binding (default:                         None)   --eab-hmac-key EAB_HMAC_KEY                         HMAC key for External Account Binding (default: None)   --cert-name CERTNAME  Certificate name to apply. This name is used by                         Certbot for housekeeping and in file paths; it doesn't                         affect the content of the certificate itself. To see                         certificate names, run 'certbot certificates'. When                         creating a new certificate, specifies the new                         certificate's name. (default: the first provided                         domain or the name of an existing certificate on your                         system for the same domains)   --dry-run             Perform a test run of the client, obtaining test                         (invalid) certificates but not saving them to disk.                         This can currently only be used with the 'certonly'                         and 'renew' subcommands. Note: Although --dry-run                         tries to avoid making any persistent changes on a                         system, it is not completely side-effect free: if used                         with webserver authenticator plugins like apache and                         nginx, it makes and then reverts temporary config                         changes in order to obtain test certificates, and                         reloads webservers to deploy and then roll back those                         changes. It also calls --pre-hook and --post-hook                         commands if they are defined because they may be                         necessary to accurately simulate renewal. --deploy-                         hook commands are not called. (default: False)   --debug-challenges    After setting up challenges, wait for user input                         before submitting to CA (default: False)   --preferred-chain PREFERRED_CHAIN                         If the CA offers multiple certificate chains, prefer                         the chain with an issuer matching this Subject Common                         Name. If no match, the default offered chain will be                         used. (default: None)   --preferred-challenges PREF_CHALLS                         A sorted, comma delimited list of the preferred                         challenge to use during authorization with the most                         preferred challenge listed first (Eg, "dns" or                         "http,dns"). Not all plugins support all challenges.                         See https://certbot.eff.org/docs/using.html#plugins                         for details. ACME Challenges are versioned, but if you                         pick "http" rather than "http-01", Certbot will select                         the latest version automatically. (default: [])   --user-agent USER_AGENT                         Set a custom user agent string for the client. User                         agent strings allow the CA to collect high level                         statistics about success rates by OS, plugin and use                         case, and to know when to deprecate support for past                         Python versions and flags. If you wish to hide this                         information from the Let's Encrypt server, set this to                         "". (default: CertbotACMEClient/1.9.0 (certbot; CentOS                         Linux 7 (Core)) Authenticator/XXX Installer/YYY                         (SUBCOMMAND; flags: FLAGS) Py/2.7.5). The flags                         encoded in the user agent are: --duplicate, --force-                         renew, --allow-subset-of-names, -n, and whether any                         hooks are set.   --user-agent-comment USER_AGENT_COMMENT                         Add a comment to the default user agent string. May be                         used when repackaging Certbot or calling it from                         another tool to allow additional statistical data to                         be collected. Ignored if --user-agent is set.                         (Example: Foo-Wrapper/1.0) (default: None) automation:   Flags for automating execution & other tweaks   --keep-until-expiring, --keep, --reinstall                         If the requested certificate matches an existing                         certificate, always keep the existing one until it is                         due for renewal (for the 'run' subcommand this means                         reinstall the existing certificate). (default: Ask)   --expand              If an existing certificate is a strict subset of the                         requested names, always expand and replace it with the                         additional names. (default: Ask)   --version             show program's version number and exit   --force-renewal, --renew-by-default                         If a certificate already exists for the requested                         domains, renew it now, regardless of whether it is                         near expiry. (Often --keep-until-expiring is more                         appropriate). Also implies --expand. (default: False)   --renew-with-new-domains                         If a certificate already exists for the requested                         certificate name but does not match the requested                         domains, renew it now, regardless of whether it is                         near expiry. (default: False)   --reuse-key           When renewing, use the same private key as the                         existing certificate. (default: False)   --allow-subset-of-names                         When performing domain validation, do not consider it                         a failure if authorizations can not be obtained for a                         strict subset of the requested domains. This may be                         useful for allowing renewals for multiple domains to                         succeed even if some domains no longer point at this                         system. This option cannot be used with --csr.                         (default: False)   --agree-tos           Agree to the ACME Subscriber Agreement (default: Ask)   --duplicate           Allow making a certificate lineage that duplicates an                         existing one (both can be renewed in parallel)                         (default: False)   --os-packages-only    (certbot-auto only) install OS package dependencies                         and then stop (default: False)   --no-self-upgrade     (certbot-auto only) prevent the certbot-auto script                         from upgrading itself to newer released versions                         (default: Upgrade automatically)   --no-bootstrap        (certbot-auto only) prevent the certbot-auto script                         from installing OS-level dependencies (default: Prompt                         to install OS-wide dependencies, but exit if the user                         says 'No')   --no-permissions-check                         (certbot-auto only) skip the check on the file system                         permissions of the certbot-auto script (default:                         False)   -q, --quiet           Silence all output except errors. Useful for                         automation via cron. Implies --non-interactive.                         (default: False) security:   Security parameters & server settings   --rsa-key-size N      Size of the RSA key. (default: 2048)   --must-staple         Adds the OCSP Must Staple extension to the                         certificate. Autoconfigures OCSP Stapling for                         supported setups (Apache version >= 2.3.3 ). (default:                         False)   --redirect            Automatically redirect all HTTP traffic to HTTPS for                         the newly authenticated vhost. (default: redirect                         enabled for install and run, disabled for enhance)   --no-redirect         Do not automatically redirect all HTTP traffic to                         HTTPS for the newly authenticated vhost. (default:                         redirect enabled for install and run, disabled for                         enhance)   --hsts                Add the Strict-Transport-Security header to every HTTP                         response. Forcing browser to always use SSL for the                         domain. Defends against SSL Stripping. (default: None)   --uir                 Add the "Content-Security-Policy: upgrade-insecure-                         requests" header to every HTTP response. Forcing the                         browser to use https:// for every http:// resource.                         (default: None)   --staple-ocsp         Enables OCSP Stapling. A valid OCSP response is                         stapled to the certificate that the server offers                         during TLS. (default: None)   --strict-permissions  Require that all configuration files are owned by the                         current user; only needed if your config is somewhere                         unsafe like /tmp/ (default: False)   --auto-hsts           Gradually increasing max-age value for HTTP Strict                         Transport Security security header (default: False) testing:   The following flags are meant for testing and integration purposes only.   --test-cert, --staging                         Use the staging server to obtain or revoke test                         (invalid) certificates; equivalent to --server https                         ://acme-staging-v02.api.letsencrypt.org/directory                         (default: False)   --debug               Show tracebacks in case of errors, and allow certbot-                         auto execution on experimental platforms (default:                         False)   --no-verify-ssl       Disable verification of the ACME server's certificate.                         (default: False)   --http-01-port HTTP01_PORT                         Port used in the http-01 challenge. This only affects                         the port Certbot listens on. A conforming ACME server                         will still attempt to connect on port 80. (default:                         80)   --http-01-address HTTP01_ADDRESS                         The address the server listens to during http-01                         challenge. (default: )   --https-port HTTPS_PORT                         Port used to serve HTTPS. This affects which port                         Nginx will listen on after a LE certificate is                         installed. (default: 443)   --break-my-certs      Be willing to replace or renew valid certificates with                         invalid (testing/staging) certificates (default:                         False) paths:   Flags for changing execution paths & servers   --cert-path CERT_PATH                         Path to where certificate is saved (with auth --csr),                         installed from, or revoked. (default: None)   --key-path KEY_PATH   Path to private key for certificate installation or                         revocation (if account key is missing) (default: None)   --fullchain-path FULLCHAIN_PATH                         Accompanying path to a full certificate chain                         (certificate plus chain). (default: None)   --chain-path CHAIN_PATH                         Accompanying path to a certificate chain. (default:                         None)   --config-dir CONFIG_DIR                         Configuration directory. (default: /etc/letsencrypt)   --work-dir WORK_DIR   Working directory. (default: /var/lib/letsencrypt)   --logs-dir LOGS_DIR   Logs directory. (default: /var/log/letsencrypt)   --server SERVER       ACME Directory Resource URI. (default:                         https://acme-v02.api.letsencrypt.org/directory) manage:   Various subcommands and flags are available for managing your   certificates:   certificates          List certificates managed by Certbot   delete                Clean up all files related to a certificate   renew                 Renew all certificates (or one specified with --cert-                         name)   revoke                Revoke a certificate specified with --cert-path or                         --cert-name   update_symlinks       Recreate symlinks in your /etc/letsencrypt/live/                         directory run:   Options for obtaining & installing certificates certonly:   Options for modifying how a certificate is obtained   --csr CSR             Path to a Certificate Signing Request (CSR) in DER or                         PEM format. Currently --csr only works with the                         'certonly' subcommand. (default: None) renew:   The 'renew' subcommand will attempt to renew all certificates (or more   precisely, certificate lineages) you have previously obtained if they are   close to expiry, and print a summary of the results. By default, 'renew'   will reuse the options used to create obtain or most recently successfully   renew each certificate lineage. You can try it with `--dry-run` first. For   more fine-grained control, you can renew individual lineages with the   `certonly` subcommand. Hooks are available to run commands before and   after renewal; see https://certbot.eff.org/docs/using.html#renewal for   more information on these.   --pre-hook PRE_HOOK   Command to be run in a shell before obtaining any                         certificates. Intended primarily for renewal, where it                         can be used to temporarily shut down a webserver that                         might conflict with the standalone plugin. This will                         only be called if a certificate is actually to be                         obtained/renewed. When renewing several certificates                         that have identical pre-hooks, only the first will be                         executed. (default: None)   --post-hook POST_HOOK                         Command to be run in a shell after attempting to                         obtain/renew certificates. Can be used to deploy                         renewed certificates, or to restart any servers that                         were stopped by --pre-hook. This is only run if an                         attempt was made to obtain/renew a certificate. If                         multiple renewed certificates have identical post-                         hooks, only one will be run. (default: None)   --deploy-hook DEPLOY_HOOK                         Command to be run in a shell once for each                         successfully issued certificate. For this command, the                         shell variable $RENEWED_LINEAGE will point to the                         config live subdirectory (for example,                         "/etc/letsencrypt/live/example.com") containing the                         new certificates and keys; the shell variable                         $RENEWED_DOMAINS will contain a space-delimited list                         of renewed certificate domains (for example,                         "example.com www.example.com" (default: None)   --disable-hook-validation                         Ordinarily the commands specified for --pre-hook                         /--post-hook/--deploy-hook will be checked for                         validity, to see if the programs being run are in the                         $PATH, so that mistakes can be caught early, even when                         the hooks aren't being run just yet. The validation is                         rather simplistic and fails if you use more advanced                         shell constructs, so you can use this switch to                         disable it. (default: False)   --no-directory-hooks  Disable running executables found in Certbot's hook                         directories during renewal. (default: False)   --disable-renew-updates                         Disable automatic updates to your server configuration                         that would otherwise be done by the selected installer                         plugin, and triggered when the user executes "certbot                         renew", regardless of if the certificate is renewed.                         This setting does not apply to important TLS                         configuration updates. (default: False)   --no-autorenew        Disable auto renewal of certificates. (default: True) certificates:   List certificates managed by Certbot delete:   Options for deleting a certificate revoke:   Options for revocation of certificates   --reason {unspecified,keycompromise,affiliationchanged,superseded,cessationofoperation}                         Specify reason for revoking certificate. (default:                         unspecified)   --delete-after-revoke                         Delete certificates after revoking them, along with                         all previous and later versions of those certificates.                         (default: None)   --no-delete-after-revoke                         Do not delete certificates after revoking them. This                         option should be used with caution because the 'renew'                         subcommand will attempt to renew undeleted revoked                         certificates. (default: None) register:   Options for account registration   --register-unsafely-without-email                         Specifying this flag enables registering an account                         with no email address. This is strongly discouraged,                         because you will be unable to receive notice about                         impending expiration or revocation of your                         certificates or problems with your Certbot                         installation that will lead to failure to renew.                         (default: False)   -m EMAIL, --email EMAIL                         Email used for registration and recovery contact. Use                         comma to register multiple emails, ex:                         u1@example.com,u2@example.com. (default: Ask).   --eff-email           Share your e-mail address with EFF (default: None)   --no-eff-email        Don't share your e-mail address with EFF (default:                         None) update_account:   Options for account modification unregister:   Options for account deactivation.   --account ACCOUNT_ID  Account ID to use (default: None) install:   Options for modifying how a certificate is deployed rollback:   Options for rolling back server configuration changes   --checkpoints N       Revert configuration N number of checkpoints.                         (default: 1) plugins:   Options for the "plugins" subcommand   --init                Initialize plugins. (default: False)   --prepare             Initialize and prepare plugins. (default: False)   --authenticators      Limit to authenticator plugins only. (default: None)   --installers          Limit to installer plugins only. (default: None) update_symlinks:   Recreates certificate and key symlinks in /etc/letsencrypt/live, if you   changed them by hand or edited a renewal configuration file enhance:   Helps to harden the TLS configuration by adding security enhancements to   already existing configuration. plugins:   Plugin Selection: Certbot client supports an extensible plugins   architecture. See 'certbot plugins' for a list of all installed plugins   and their names. You can force a particular plugin by setting options   provided below. Running --help <plugin_name> will list flags specific to   that plugin.   --configurator CONFIGURATOR                         Name of the plugin that is both an authenticator and                         an installer. Should not be used together with                         --authenticator or --installer. (default: Ask)   -a AUTHENTICATOR, --authenticator AUTHENTICATOR                         Authenticator plugin name. (default: None)   -i INSTALLER, --installer INSTALLER                         Installer plugin name (also used to find domains).                         (default: None)   --apache              Obtain and install certificates using Apache (default:                         False)   --nginx               Obtain and install certificates using Nginx (default:                         False)   --standalone          Obtain certificates using a "standalone" webserver.                         (default: False)   --manual              Provide laborious manual instructions for obtaining a                         certificate (default: False)   --webroot             Obtain certificates by placing files in a webroot                         directory. (default: False)   --dns-cloudflare      Obtain certificates using a DNS TXT record (if you are                         using Cloudflare for DNS). (default: False)   --dns-cloudxns        Obtain certificates using a DNS TXT record (if you are                         using CloudXNS for DNS). (default: False)   --dns-digitalocean    Obtain certificates using a DNS TXT record (if you are                         using DigitalOcean for DNS). (default: False)   --dns-dnsimple        Obtain certificates using a DNS TXT record (if you are                         using DNSimple for DNS). (default: False)   --dns-dnsmadeeasy     Obtain certificates using a DNS TXT record (if you are                         using DNS Made Easy for DNS). (default: False)   --dns-gehirn          Obtain certificates using a DNS TXT record (if you are                         using Gehirn Infrastructure Service for DNS).                         (default: False)   --dns-google          Obtain certificates using a DNS TXT record (if you are                         using Google Cloud DNS). (default: False)   --dns-linode          Obtain certificates using a DNS TXT record (if you are                         using Linode for DNS). (default: False)   --dns-luadns          Obtain certificates using a DNS TXT record (if you are                         using LuaDNS for DNS). (default: False)   --dns-nsone           Obtain certificates using a DNS TXT record (if you are                         using NS1 for DNS). (default: False)   --dns-ovh             Obtain certificates using a DNS TXT record (if you are                         using OVH for DNS). (default: False)   --dns-rfc2136         Obtain certificates using a DNS TXT record (if you are                         using BIND for DNS). (default: False)   --dns-route53         Obtain certificates using a DNS TXT record (if you are                         using Route53 for DNS). (default: False)   --dns-sakuracloud     Obtain certificates using a DNS TXT record (if you are                         using Sakura Cloud for DNS). (default: False) manual:   Authenticate through manual configuration or custom shell scripts. When   using shell scripts, an authenticator script must be provided. The   environment variables available to this script depend on the type of   challenge. $CERTBOT_DOMAIN will always contain the domain being   authenticated. For HTTP-01 and DNS-01, $CERTBOT_VALIDATION is the   validation string, and $CERTBOT_TOKEN is the filename of the resource   requested when performing an HTTP-01 challenge. An additional cleanup   script can also be provided and can use the additional variable   $CERTBOT_AUTH_OUTPUT which contains the stdout output from the auth   script. For both authenticator and cleanup script, on HTTP-01 and DNS-01   challenges, $CERTBOT_REMAINING_CHALLENGES will be equal to the number of   challenges that remain after the current one, and $CERTBOT_ALL_DOMAINS   contains a comma-separated list of all domains that are challenged for the   current certificate.   --manual-auth-hook MANUAL_AUTH_HOOK                         Path or command to execute for the authentication                         script (default: None)   --manual-cleanup-hook MANUAL_CLEANUP_HOOK                         Path or command to execute for the cleanup script                         (default: None)   --manual-public-ip-logging-ok                         Automatically allows public IP logging (default: Ask) null:   Null Installer standalone:   Spin up a temporary webserver webroot:   Place files in webroot directory   --webroot-path WEBROOT_PATH, -w WEBROOT_PATH                         public_html / webroot path. This can be specified                         multiple times to handle different domains; each                         domain will have the webroot path that preceded it.                         For instance: `-w /var/www/example -d example.com -d                         www.example.com -w /var/www/thing -d thing.net -d                         m.thing.net` (default: Ask)   --webroot-map WEBROOT_MAP                         JSON dictionary mapping domains to webroot paths; this                         implies -d for each entry. You may need to escape this                         from your shell. E.g.: --webroot-map                         '{"eg1.is,m.eg1.is":"/www/eg1/", "eg2.is":"/www/eg2"}'                         This option is merged with, but takes precedence over,                         -w / -d entries. At present, if you put webroot-map in                         a config file, it needs to be on a single line, like:                         webroot-map = {"example.com":"/var/www"}. (default:                         {}) |