0
Nginxを実行しているArch Linuxサーバーで、私は正しくcgitをセットアップしました。私は1つのディレクトリ/pub/
を除き、基本認証パスワードでcgitを保護したい。 the documentationに見られるように、私はコンテキストに認証を入れ、/pub/
ディレクトリのlocation
コンテキストで例外を取得することを考えました。私はパスを正しく取得するためにthis linkを試しました。Nginxとcgitのauth_basic
ここでは、対応する部分のnginxの設定ファイルです。
server {
listen 80;
server_name git.nicosphere.net;
index cgit.cgi;
gzip off;
auth_basic "Restricted";
auth_basic_user_file /srv/gitosis/.htpasswd;
location/{
root /usr/share/webapps/cgit/;
}
location ^~ /pub/ {
auth_basic off;
}
if (!-f $request_filename) {
rewrite ^/([^?/]+/[^?]*)?(?:\?(.*))?$ /cgit.cgi?url=$1&$2 last;
}
location ~ \.cgi$ {
gzip off;
include fastcgi_params;
fastcgi_pass 127.0.0.1:9001;
fastcgi_index cgit.cgi;
fastcgi_param SCRIPT_FILENAME /usr/share/webapps/cgit/cgit.cgi;
fastcgi_param DOCUMENT_ROOT /usr/share/webapps/cgit/;
}
}
これは、どのURLでも認証が必要です。テストを簡単にするために、私は認証なしでルートを残そうとしましたが、認証付きの/pub/
しかありませんでした。この場合、パスワードをまったく要求しません。これまでのところ、私はすべてのことも何も保護することができませんでした。
私のおおよその英語のあなたの助けと私の謝罪のおかげで、私はあなたがこのような何かしたいと思います
おかげで、 これは良いですが、奇妙な行動があったが、私は '/パブ/'に行くとき、それは、パスワードの入力を私に尋ねます「キャンセル」を押すと、CSSと.PNGのないページが表示されます。ルートを試すと、401ページが表示されます。私が正しく認証すれば、すべてがうまくいく(CSS/PNGで)。 私はまだ問題はあると思うが、それは良い。 –
私にとって完璧に動作します、ありがとうございます。 –