Blog

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

開発環境とかで証明書を取得するとなるとLet's Encrypt証明書になりますよね。しかし、Basic認証サイトだとそのまま認証されないとで少し手を加える必要があります。

2021/08/16
#Apache

環境

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]