web-dev-qa-db-ja.com

NginxとPassengerを使用してauth_basicを構成します

Nginxで基本認証を設定しようとしています。

私のサーバー構成は次のようになります。

server {
  listen 80;
  server_name DOMAIN;
  root /var/www/web-front-dev/current/public;
  error_log /var/log/nginx/web-front-dev-error.log;
  access_log /var/log/nginx/web-front-dev-access.log;
  passenger_enabled on;
  client_max_body_size 100M;

  location / {
    passenger_enabled on;

    auth_basic "Restricted";
    auth_basic_user_file /var/www/web-front-dev/shared/simple_authentication_user_file;
  }
}

Simple_authentication_user_fileの内容は単純です:a:b

すべてを再起動した後、ドメインにログインしようとしているときにエラーが発生し続けます(「b」を正しく入力したことを確認しました):

2011/08/10 16:10:13 [error] 26768#0: *1 user "a": password mismatch, client: IP, server: DOMAIN, request: "GET / HTTP/1.1", Host: "DOMAIN"

私はchmod777をsimple_authentication_user_fileに入れて、それが成功せずに問題になる可能性があるかどうかを確認しました。

誰かが私にチェックする何かを提案できますか?

1
Vincent Peres

プレーンテキストのパスワードを使用しようとしていますか?ドキュメントには、暗号化されたものを使用する必要があると記載されています: http://wiki.nginx.org/HttpAuthBasicModule

パスワードは関数crypt(3)でエンコードする必要があります。

2