WordPressの逆引き作業メモ

このブログはWordPressで業務に使った時の自分の作業用のポイントメモです。

公開前やメンテ中のベーシック認証かけたサイトでLet's Encryptだけを先に通す。

公開前やメンテ中、検索のRobotに拾われたり閲覧できないようにするのにベーシック認証は手軽でよく使う方法です。

<Location / >
 AuthType Basic AuthName "Input ID " AuthUserFile /var/www/.htpasswd Require user foo
</Location>

サイトを制作途中に、公開前にSSLのLet's Encryptだけは先に通しておきたい場合があります。ただ上記のベーシック認証をかけていると承認に失敗します。

それは、承認用にアップロードしたファイルがリターンで読み取れないために失敗するので、アップロードしたファオルの部分だけベーシック認証をエスケープする必要があります。

<Location /.well-known/acme-challenge > 
Require all granted
</Location>

Let's Encryptが使うパスだけは、接続をすべて許可します。

 

 

 

場合のよっては、リファラーやブラウザなど
SetEnvIfで、複雑な認証を設けている場合もあるでしょう。

SetEnvIf Host "^subdomain\." host_ok
order deny,allow
deny from all
allow from env=host_ok

そういった場合も、Request_URIで該当のURLだけ認証を通します。

SetEnvIf Host "^subdomain\." host_ok
SetEnvIf Request_URI "/.well-known/acme-challenge*" ref_ok
order deny,allow
deny from all
allow from env=host_ok

それにより認証や更新も問題なく運用できます。