質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
HTTPS

HTTPS(Hypertext Transfer Protocol Secure)はHypertext Transfer プロトコルとSSL/TLS プロトコルを組み合わせたものです。WebサーバとWebブラウザの間の通信を暗号化させて、通信経路上での盗聴や第三者によるなりすましを防止します。

Q&A

解決済

1回答

8378閲覧

Let's encryptによるHTTPS化がうまくいかない

退会済みユーザー

退会済みユーザー

総合スコア0

HTTPS

HTTPS(Hypertext Transfer Protocol Secure)はHypertext Transfer プロトコルとSSL/TLS プロトコルを組み合わせたものです。WebサーバとWebブラウザの間の通信を暗号化させて、通信経路上での盗聴や第三者によるなりすましを防止します。

1グッド

1クリップ

投稿2017/01/28 09:00

Let's encryptを用いて、httpsにしようと考えました。
サーバーは、さくらVPSで、OSは、Ubuntu16.04です。
サイトはNginxを用いて動かしています。

そのため、下記を参考にしようとしました。
https://certbot.eff.org/#ubuntuxenial-nginx

$ sudo apt-get install letsencrypt
は、うまくいきました。

しかし、

$ sudo letsencrypt certonly --webroot -w /var/www/html -d example.com -d www.example.com

を実行すると、

Failed authorization procedure. www.example.com (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://www.example.com/.well-known/acme-challenge/W7nzNEIKJXgIMa3pHZPTbb_9ZoyLmESqRuChaGuIWZU: "<h1>Not Found</h1><p>The requested URL /.well-known/acme-challenge/W7nzNEIKJXgIMa3pHZPTbb_9ZoyLmESqRuChaGuIWZU was not found on ", example.com (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://example.com/.well-known/acme-challenge/EY6TbDFYmuBbiK_j-uXLs8gusaOD5hafNjt3e1RN9zg: "<h1>Not Found</h1><p>The requested URL /.well-known/acme-challenge/EY6TbDFYmuBbiK_j-uXLs8gusaOD5hafNjt3e1RN9zg was not found on " IMPORTANT NOTES: - The following errors were reported by the server: Domain: www.example.com Type: unauthorized Detail: Invalid response from http://www.example.com /.well-known/acme- challenge/W7nzNEIKJXgIMa3pHZPTbb_9ZoyLmESqRuChaGuIWZU: "<h1>Not Found</h1><p>The requested URL /.well-known/acme- challenge/W7nzNEIKJXgIMa3pHZPTbb_9ZoyLmESqRuChaGuIWZU was not found on " Domain: example.com Type: unauthorized Detail: Invalid response from http://example.com/.well- known/acme-challenge/EY6TbDFYmuBbiK_j-uXLs8gusaOD5hafNjt3e1RN9zg: "<h1>Not Found</h1><p>The requested URL /.well-known/acme-challenge /EY6TbDFYmuBbiK_j-uXLs8gusaOD5hafNjt3e1RN9zg was not found on " 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.

というエラーが出てしまいます。

なお、
/etc/nginx/sites-available/default

には、

upstream example{ server 127.0.0.1:8000; } server{ listen 80 default_server; listen [::]:80 default_server ipv6only=on; access_log /var/log/nginx/localhost.access_log; root /var/www/html; server_name localhost; location / { proxy_set_header Host $host; proxy_pass http://hinaya_web; } }

となっていたので、

-w /var/www/html

で良いのかと思いました。

どこが悪いかお分かりの方、ご教示頂ければ幸いです。

よろしくお願いいたします。

av-👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

コマンドやエラーメッセージが入力/表示されたものそのままだと仮定して回答します。

コマンドの-d example.com -d www.example.comの部分はあなたのドメインに変えてください。

sh

1$ sudo letsencrypt certonly --webroot -w /var/www/html -d example.com -d www.example.com

と入力した場合、example.comwww.example.comの証明書を取得しようとします。

その際、Let's encryptはexample.comwww.example.comがあなたのドメインであることを
確認します。(Let's encryptにはドメインが真正なものであることを証明する責任があるため)
しかし、example.comwww.example.comはあなたのドメインではないため
この確認が成功せず、エラーとなります。

なお、確認方法はざっくりと言えば

  1. コマンドは-w /var/www/htmlに確認用のファイルを置く (`/var/www/htm/.well-known/acme-

challenge/W7nzNEIKJXgIMa3pHZPTbb_9ZoyLmESqRuChaGuIWZU) 2. コマンドはLet's encryptにwww.example.comの証明書を要求する。 ここで、1で置いたファイルの情報をLet's encryptに通知する。 3. Let's encryptは2で受け取った情報を元に http://www.example.com/.well-known/acme-challenge/W7nzNEIKJXgIMa3pHZPTbb_9ZoyLmESqRuChaGuIWZU`にアクセスする。
4. 3のアクセスでドメインが正しいことを確認できれば証明書が発行される。

という流れです。

投稿2017/01/29 01:20

bash_sh

総合スコア30

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/02/01 06:37

ご回答いただきありがとうございました。 お礼遅くなり申し訳ありません。 まだ解決できていないのですが、どうやら、Nginxの設定(location の設定)のどこかがおかしそうだという所まで分かっています。 時間が経ってしまったので、取り急ぎお礼のご連絡をさせて頂きますm(__)m
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問