#Let's encryptのWeb認証が通らないケース
Let's encryt で既に動作しているWebサーバを認証する場合、
フレームワークやWordPress、Drupalなどのアプリが、
パラメータをキャッチする設定になっていることで、Web認証に失敗する場合がある。
Failed authorization procedure. <<認証したいWebサーバのドメイン>> (http-01): urn:acme:error:unauthorized :: The client lacks suffijp/.well-known/acme-challenge/tpRITlAFEtuJgZvhQwF_eRDRKu8XoLkkrwlLpp6AFTw: "<html>
<head><title>403 Forbidden</title></head>
<body bgcolor="white">
<center><h1>403 Forbidden</h1></center>
<hr><center>"
IMPORTANT NOTES:
- The following errors were reported by the server:
Domain: <<認証したいWebサーバのドメイン>>
Type: unauthorized
Detail: Invalid response from
http://<<認証したいWebサーバのドメイン>>/.well-known/acme-challenge/tpRITlAFEtuJgZvhQwF_eRDRKu8XoLkkrwlLpp6AFTw:
"<html>
<head><title>403 Forbidden</title></head>
<body bgcolor="white">
<center><h1>403 Forbidden</h1></center>
<hr><center>"
To fix these errors, please make sure that your domain name was
entered correctly and the DNS A record(s) for that domain
contain(s) the right IP address.
#解決方法
その場合は、以下の通り
別ディレクトリに認証を逃がすことで、
認証許可を出してもらうことが出来る。
チャレンジ方式の認証であり
不正に認証しているわけでもないので、認証自体も問題なし。
複数バーチャルホストの場合は、
nginx:/etc/nginx/global/letsencypt.conf
とかにまとめてIncludeしておけば良いと思う。
##Nginxの場合
/etc/nginx/conf.d/virtual.conf
server {
listen 80 default_server;
server_name <<認証したいWebサーバのドメイン>>;
#以下の2行を追加して、別ディレクトリで認証する。
location ^~ /.well-known/acme-challenge/ {
root /usr/share/nginx/html;
}
...
}
letsencryptインストールディレクトリ
./letsencrypt-auto certonly --webroot --webroot-path /usr/share/nginx/html -d <<認証したいWebサーバのドメイン>>
letsencryptインストールディレクトリ
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/<<認証したいWebサーバのドメイン>>/fullchain.pem. Your
cert will expire on 2017-01-06. To obtain a new or tweaked version
of this certificate in the future, simply run letsencrypt-auto
again. To non-interactively renew *all* of your certificates, run
"letsencrypt-auto 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
#参考
Let's encrypt運用のベストプラクティス
http://qiita.com/tkyk@github/items/9b6ba55bb2a6a5d90963
Free SSL/TLS Certificates with Let's Encrypt and NGINX
https://www.nginx.com/blog/free-certificates-lets-encrypt-and-nginx/