Generate htpasswd for Nginx

When I configure a new site on Nginx I always have to look up how to generate those htpasswd files. So here is a quick note for future reference.

In your vhost file:

location / {
  auth_basic  "Some message to the user";
  auth_basic_user_file  /etc/nginx/htpasswd;

Generate the hashed password (using PHP):

$ php -a
php > echo crypt('asdf', base64_encode('asdf'));

Put it in your htpasswd:

$ echo 'tobias:YXWM35gonN/VU' >> /etc/nginx/htpasswd