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

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

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

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

1151閲覧

nginxでBasic認証を一部URLで外したい

yookoko

総合スコア62

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2020/05/14 10:51

以下のような設定ファイルを作成しました。

bash:bash

1server { 2 listen 80; 3 listen [::]:80; 4 5 server_name test.local; 6 root /var/www/test/public; 7 index index.php index.html index.htm; 8 9 location ~* ^/testurl { 10 rewrite ^(.*)$ /index.php break; 11 fastcgi_pass php-upstream; 12 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 13 include fastcgi_params; 14 } 15 16 location / { 17 auth_basic "auth"; 18 auth_basic_user_file /var/www/.htpasswd; 19 rewrite ^(.*)$ /index.php break; 20 fastcgi_pass php-upstream; 21 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 22 include fastcgi_params; 23 } 24 25}

目的として、http://test.local/testurlでは基本認証を行わないようにしたいと考えています。
ですがこの記述ですと、http://test.local/testurlに基本認証がかかってしまいます。

何が問題か自己解決が出来ない状態ですので、ヒントになる回答だけでもいただけると助かります。
よろしくお願いいたします。

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

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

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

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

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

TaichiYanagiya

2020/05/14 13:29

nginx-1.16.1 / CentOS 8 で試しましたが、再現しませんでした。 /testurl/ の応答コードは 200 で、その先で 401 になっている? access.log でパスと応答コードを確認ください。
yookoko

2020/05/14 13:33 編集

手を動かしてもらい時間を使っていただきありがとうございます。 提示している設定外に何か原因があるというヒントはいただけましたので大変助かりました。頂いたヒントを元に再度検証したいと思います。
guest

回答1

0

自己解決

該当URLの処理内で、別URLで動作するAPIを叩いていたのでそちらで認証が発生していました。
TaichiYanagiyaさんの指摘で解決に至りました。ありがとうございます。

投稿2020/05/15 06:39

yookoko

総合スコア62

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問