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

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

ただいまの
回答率

87.91%

Let's encryptをリセットする方法

受付中

回答 3

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 5,387

score 79

Let's encrypt の更新期限が過ぎており、サイトが表示されなくなっていました。
そこで、サーバーをストップしてから更新のコマンド

sudo certbot renew


を打ったのですが、以下の結果が返ってきて更新できませんでした。

【質問】
======================
一度Let's encryptをリセットして初めから入れ直したいのですが、
入れ直すには何(ファイルやディレクトリ)を削除すればいいのでしょうか?
======================

以下に情報、やったことを掲載します。

システム情報
・os:centos7.3.161
・サーバー:apache2.4.6   
・返ってきた結果

Saving debug log to /var/log/letsencrypt/letsencrypt.log

-------------------------------------------------------------------------------
Processing /etc/letsencrypt/renewal/sample.com.conf
-------------------------------------------------------------------------------
Cert is due for renewal, auto-renewing...
Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org
Renewing an existing certificate
Performing the following challenges:
tls-sni-01 challenge for sample.com
Cleaning up challenges
Attempting to renew cert from /etc/letsencrypt/renewal/sample.com.conf produced an unexpected error: Could not bind TCP port 443 because it is already in use by another process on this system (such as a web server). Please stop the program in question and then try again.. Skipping.

All renewal attempts failed. The following certs could not be renewed:
  /etc/letsencrypt/live/sample.com/fullchain.pem (failure)
1 renew failure(s), 0 parse failure(s)


追記:サーバーを停止

service httpd stop


してから以下のコマンドを打ちました。

./certbot-auto renew --force-renewal


しかし、以下の結果が返ってきてどうやら更新できませんでした。

Saving debug log to /var/log/letsencrypt/letsencrypt.log

-------------------------------------------------------------------------------
Processing /etc/letsencrypt/renewal/sample.com.conf
-------------------------------------------------------------------------------
Renewing an existing certificate
Performing the following challenges:
tls-sni-01 challenge for sample.com
Waiting for verification...
Cleaning up challenges
Attempting to renew cert from /etc/letsencrypt/renewal/sample.com.conf produced an unexpected error: Failed authorization procedure. sample.com (tls-sni-01): urn:acme:error:connection :: The server could not connect to the client to verify the domain :: DNS problem: SERVFAIL looking up A for sample.com. Skipping.

All renewal attempts failed. The following certs could not be renewed:
  /etc/letsencrypt/live/sample.com/fullchain.pem (failure)
1 renew failure(s), 0 parse failure(s)

IMPORTANT NOTES:
 - The following errors were reported by the server:

   Domain: sample.com
   Type:   connection
   Detail: DNS problem: SERVFAIL looking up A for sample.com

   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. Additionally, please check that
   your computer has a publicly routable IP address and that no
   firewalls are preventing the server from communicating with the
   client. If you're using the webroot plugin, you should also verify
   that you are serving files from the webroot path you provided.

最初から設定しようと思ってやっていましたが、

certbot run --apache -d sample.com


のコマンド入力の結果が、

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org
Cert is due for renewal, auto-renewing...
Renewing an existing certificate
Performing the following challenges:
tls-sni-01 challenge for sample
.com
Waiting for verification...
Cleaning up challenges
Failed authorization procedure. sample.com (tls-sni-01): urn:acme:error:connection :: The server could not connect to the client to verify the domain :: DNS problem: SERVFAIL looking up A for sample.com

IMPORTANT NOTES:
- The following errors were reported by the server:

Domain: sample.com
Type: connection
Detail: DNS problem: SERVFAIL looking up A for sample.com

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. Additionally, please check that
your computer has a publicly routable IP address and that no
firewalls are preventing the server from communicating with the
client. If you're using the webroot plugin, you should also verify
that you are serving files from the webroot path you provided.


となり、エラーが返ってきました。

以上詳しい方がいらっしゃれば是非ともご教示いただければありがたいです。
何卒よろしくお願いいたします。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 3

+2

つい最近、私もやっちゃいましたw
多分ですが、期限切れの場合、renew では更新できません。
私は再取得で、問題を解決しました。
試してみて下さい。

追記
renew出来ないと断言してしまいましたが、間違った情報かもしれないです。
コメントにも記述しましたが、私の更新できなかった理由は、80 → 443 のリダイレクト設定だったかもしれないです。
検証できないため、曖昧なコメントとなり、申し訳ありません。 

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/06/14 22:57

    apache オプションは使用したことがないので適切な回答でないかもしれないですけど、私がハマったもう一点が、80 を 443 にリダイレクトしていたためでした。
    webroot オプションでの話なので、ちょっと関係がないかもしれないです。

    具体的にいうと、
    ・webroot オプションで証明書導入
    ・cron で更新ができることを確認
    ・導入後、80→443 のリダイレクトを設定
    ・ しばらくエラー出ず
    ・更新可能日時になり、renew が有効になった時、80でアクセスできずエラー
    ・放置してたため、期限切れ^^;
    ・renew しようとすると、質問にあるエラー発生
    ・再取得しようとすると、別のエラー(コメントにあるようなエラーだったかも)
    ・80 のリダイレクト設定を外し、再取得 → 成功

    でした。

    apache オプションの挙動を追うつもりはないので、アドバイスできるのはここまでですが、参考になれば^^

    キャンセル

  • 2017/06/14 23:24 編集

    ちょっとログを振り返って確認したのですが、もしかすると私の場合は 80 → 443 のほうが本命だったかもしれないです。
    手順として、renew を諦めて、新規で取得を試みた時に、リダイレクト解除を行ったので、先にこちらを行っていれば、renew でも更新できていたかもしれないです。

    キャンセル

  • 2017/06/14 23:26

    なるほどです。引き続き情報収集してみます。ありがとうございます。

    キャンセル

+1

renew の使い方と更新の自動化
によると、Web サーバーを停止してから行う必要があるようですね。

引数に Web サーバの 停止/開始のコマンドを渡すことで、停止時間を
必要最小限にする使用例もあるようです。ただ、初回の更新であれば、
手作業でやってから動作確認した方がよいかもしれませんね。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/06/14 17:33

    コメントありがとうございます。サーバーを停止おこなったのですが更新できませんでした。詳細は追記しました。

    キャンセル

+1

DNS周りのエラーが出ていますね。

更新しようとしている証明書ですが、サーバーから自身のグローバルIPアドレスを逆引き出来るか
確認してみてはどうでしょうか?

nslookup 取得ドメイン名

で結果が帰って来ない場合、/etc/hostsに書くと上手く行くかもしれません。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/06/14 22:10

    コメントありがとうございます。
    nslookup sample.com 
    とコマンドを入力しましたが、
    コマンドが見つかりませんと表示されました。

    /etc/hostsに書くというのはドメインを書けば良いのでしょうか。
    どのように書けばいいのでしょうか?

    キャンセル

  • 2017/06/15 09:45

    ちなみに現在の/etc/hostsのファイルの中は
    127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
    となっています。

    キャンセル

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

  • ただいまの回答率 87.91%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る