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

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

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

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

Q&A

2回答

6453閲覧

常時SSL環境でベーシック認証を行いたい。

kkawai_0321

総合スコア4

Apache

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

0グッド

0クリップ

投稿2019/08/19 07:51

編集2019/08/19 07:55

前提・実現したいこと

常時SSL環境でベーシック認証を行いたいです。

常時SSL環境でベーシック認証をかけたく.htaccessを
下記のように記載したところ、認証を求められる画面は表示されますが
アカウントを入力してもサーバの内部エラーが発生してしまいます。
常時SSL環境でベーシック認証をかけることは可能なのでしょうか?
ご教授いただけますと幸いです。

RewriteEngine on

**HTTPSのアクセスはリダイレクト不要なので無視
RewriteCond %{HTTPS} off

LetsEncryptを使っている場合に、 /.well-known/ へのアクセスはリダイレクトしないようにする。設定するコンテクストによってパターンの記述が異なるはずなので注意が必要
RewriteRule ^.well-known/
- [L]

**その他のアクセスはhttps://*にリダイレクト
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

**HTTPSアクセスの場合のみ認証を求める
<If "%{HTTPS} == 'on' ">

**Basic認証
AuthUserFile /var/www/sites/サーバー名/test/.htpasswd
AuthGroupFile /var/www/sites/サーバー名/test
AuthName "Input your ID and Password"
AuthType Basic
require valid-user

</If>

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

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

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

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

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

yukky1201

2019/08/19 08:15

>アカウントを入力してもサーバの内部エラーが発生してしまいます。 「500 Internal Server Error」となるということでしょうか。また、わざと認証できないユーザ/パスワードでログイン試行したときはどうなりますか。 Apacheのエラーログはどのように出力されていますか。 .htaccess、.htpasswdファイルのパーミッションは604になっていますか。
kkawai_0321

2019/08/20 02:58

認証できないユーザでも500のinternal server errorが発生します。 Apacheのエラーログには下記の記載がありました。 ----------------------------------------------------------------------------------------------- [authn_file:error] (2)No such file or directory: AH01620: Could not open password file: /var/www/sites/imex-net.co.jp/test/.htpasswd ----------------------------------------------------------------------------------------------- パーミッションは644でしたが604に変更しても同様に発生します。 何卒宜しくお願いいたします。
kkawai_0321

2019/08/27 02:34

その後何とか色々と調べ下記記載で出来ました! 皆様の参考になれば幸いです。 参考URLは下記となります。 https://teratail.com/questions/135117 上記ページのベストアンサーでやりました。 またつかぬことですが私のような初心者がterapadでやるとURLがリンクになってしまうので それを解除しないとエラーとなります。 この度はありがとうございました。
guest

回答2

0

[authn_file:error] (2)No such file or directory: AH01620: Could not open password file: /var/www/sites/サーバ名/test/.htpasswd

上記エラーログによると.htpasswdファイルを参照できない。ということですね。

/var/www/~はDocumentRoot配下であると予想できますが、Basic認証設定したので参照しようと思うと認証後でなければなりません。
しかし、認証前なので.htpasswdを読み込みできないという矛盾が発生してます。

解決策としては、/var/www/.htpasswdなどに設置場所を変更する。でいかがでしょうか。

投稿2019/08/20 04:34

yukky1201

総合スコア2751

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

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

0

常時SSL環境でベーシック認証をかけることは可能なのでしょうか?

可能です。

下記のように記載したところ、認証を求められる画面は表示されますが

アカウントを入力してもサーバの内部エラーが発生してしまいます。

AuthGroupFile /var/www/sites/サーバー名/test

Group の指定で、ディレクトリを指定しているように見えるのですが、ファイルを指定してください。

また、エラーメッセージにある /var/www/sites/ドメイン名/test/.htpasswd のファイルですが、ファイルのパーミッションが正しいとすれば、test ディレクトリのパーミッションやファイルのパスが間違っているということはありませんか?

投稿2019/08/20 04:00

CHERRY

総合スコア25171

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問