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

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

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

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

2927閲覧

Let's Encryptのwebroot更新をSSLRequireSSL環境下で行いたい

pokorinko

総合スコア9

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2018/07/28 10:04

CentOS6でApache2.2を利用した環境下なのですが、
httpd.confに

lang

1<Directory "/var/www/html"> 2SSLRequireSSL 3・・・・・

と記述し、ドキュメントルート以下全てを、
SSLのみ接続できようにしています。
httpからのリダイレクトもしていません。

前提・実現したいこと

Let's Encryptに乗り換えたのですが、
3ヶ月に1回とは言えサーバーを止めることができないので、
cronでwebrootでの更新を組んでいます。

httpd.confの末尾に

lang

1<Directory "/var/www/html/.well-known/acme-challenge"> 2 Order Allow,Deny 3 Allow from All 4</Directory>

として、更新時に認証ファイルにアクセスできる(と思い込み)設定し、
手動で証明書を更新すると問題なかった(と思う)ので、
特に気にしていなかったのですが、
いざ期限1ヶ月を切っても更新されず下記のエラーが出ました。、

発生している問題・エラーメッセージ

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Processing /etc/letsencrypt/renewal/ドメイン.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Cert is due for renewal, auto-renewing... Plugins selected: Authenticator webroot, Installer None Renewing an existing certificate Performing the following challenges: http-01 challenge for ドメイン Waiting for verification... Cleaning up challenges Attempting to renew cert (ドメイン) from /etc/letsencrypt/renewal/ドメイン.conf produced an unexpected error: Failed authorization procedure. ドメイン (http-01): urn:ietf:params:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://ドメイン/.well-known/acme-challenge/英字羅列 "<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>403 Forbidden</title> </head><body> <h1>Forbidden</h1> <p". Skipping. All renewal attempts failed. The following certs could not be renewed: /etc/letsencrypt/live/ドメイン/fullchain.pem (failure) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - All renewal attempts failed. The following certs could not be renewed: /etc/letsencrypt/live/ドメイン/fullchain.pem (failure) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 renew failure(s), 0 parse failure(s) IMPORTANT NOTES: - The following errors were reported by the server: Domain: ドメイン Type: unauthorized Detail: Invalid response from http://ドメイン/.well-known/acme-challenge/英字羅列 "<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>403 Forbidden</title> </head><body> <h1>Forbidden</h1> <p" To fix these errors, please make sure that your domain name was entered correctly and the DNS A/AAAA record(s) for that domain contain(s) the right IP address.

試したこと

http://ドメイン/.well-known/acme-challenge/
以下にアクセスできていないと思い、
.well-knownにhtaccessを配置してhttpへのリダイレクトを試したり、
httpd.confに<Location>で.well-knownを全許可してみたり、
試してみましたが、うまくいきません。
SSLRequireSSLを.well-known以下だけ再帰的に解除できれば嬉しいのですが、
何か方法ないでしょうか。
宜しくお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

うーん…。いまいち SSLRequireSSL の必然性が良く分からないのですが。
非SSLで主要コンテンツに全くアクセスさせないなら、ポート80,443でバーチャルホストを分離し、ドキュメントルート自体を独立させれば良いので。

それはさておき、SSLRequireSSL をドキュメントルートにかけているのであれば、Let'sEncrypt用のコンテンツディレクトリを、ドキュメントルート外に置けば良いのではないでしょうか。
別に全てのコンテンツをドキュメントルート以下に設置しなければならないという決まりも(Apache的には)ないですし。Aliasを必要に応じて設定すれば。

ああ、ただSELinuxを有効にしていると、勝手に独自のディレクトリを使うことができないですね。そこは注意が必要です。

投稿2018/07/28 13:08

編集2018/07/28 13:11
angel_p_57

総合スコア1672

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

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

pokorinko

2018/07/31 09:45

ありがとうございます。 根本的に元の設定から見直したほうが良いかもしれないですね。参考になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問