2011-01-27 14 views
2

私はnginxを使って自分のフォルダをパスワードで保護する必要があります。Nginxのパスワード保護

私はこのルール

location ^~ /test/ 
    { 
      auth_basic   "Restricted"; 
      auth_basic_user_file conf/htpasswd; 
    } 

を使用しました。しかしproblmeは、私はそれが動作/test/file.phpに行くならば、それは承認を必要としないということです。 /test /パスワードのみを要求します。

答えて

1

私はこのようにそれを使用しています:

 location ~ /img/index.php { 
     root /var/www/nginx-default/phpmyedit/; 
     auth_basic "phpmyedit"; 
     auth_basic_user_file /var/www/phpmyedit.pass; 
     access_log /var/log/nginx/img.log; 
     fastcgi_pass 127.0.0.1:9000; 
     fastcgi_index index.php; 
     fastcgi_param SCRIPT_FILENAME /var/www/nginx-default$fastcgi_script_name; 
     include /etc/nginx/fastcgi_params; 
    } 
0

を正しくパスワードを設定しているあなたがする必要があるすべてはあなたのパスに末尾のスラッシュを削除していると仮定します。また、ルールに^〜は必要ありません。ここでは例です:

  location /test { 
      try_files $uri $uri/ =404; 
      auth_basic "Access Denied!"; 
      auth_basic_user_file /etc/nginx/.htpasswd; 
     } 

次の手順を使用し、パスワードに新しいユーザーを追加するには:

sudo sh -c "echo -n 'admin:' >> /etc/nginx/.htpasswd" 

これは、新しいユーザーを追加します:ファイルに管理者を。この新しいユーザーの暗号化されたパスワードを設定するには、次のようにします:

sudo sh -c "openssl passwd -apr1 >> /etc/nginx/.htpasswd" 

パスワードを入力して新しいパスワードを確認するメッセージが表示されます。それでおしまい。準備万端です!

関連する問題