Published on

Basic認証のサイトでLet's Encryptの証明書を自動更新させる

環境

apache 2.4 ドキュメントルートを www とする

ドキュメントルート直下の.htaccess に追記する

<IfModule mod_rewrite.c>
RewriteEngine on
# www 統一
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# SSL通信を強制化
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

.well-known に.htaccess と index.html を作成する file:www/.well-known/.htaccess Require all granted

$ touch index.html

Let's Encrypt の証明書を取得する

$ certbot certonly --webroot -w /var/www -d www.[domain] -d [domain]