Securing nginx folders
December 22, 2012
I wanted to have a folder on my nginx webserver that prompts for a username/password before showing any html pages inside that folder.
Here's the existing location declaration in the nginx config:
location / { root /home/drumcoder/web/drumcoder.co.uk; index index.html; }
Here's the new declaration that includes the secure folder
location ^~ /secure/folder/ { root /home/drumcoder/web/drumcoder.co.uk; index index.html; auth_basic "Restricted Area"; auth_basic_user_file file.htpasswd; }
The secure folder is accessed at http://drumcoder.co.uk/secure/folder
- note that this offset isn't included in the root directive, but the files for it are still located within, e.g. /home/drumcoder/web/drumcoder.co.uk/secure/folder/index.html
The file.htpasswd
file is a normal apache .htpasswd file with the following format:
username:password username2:password2
Use the tool at http://www.tools.dynamicdrive.com/password/ to create passwords for this file.