NGINX Basic Authentication

Gói yêu cầu

  • Trên Debian: apache2-utils.

    sudo apt-get install apache2-utils
    
  • Trên Fedora: httpd-tools.

    sudo dnf install httpd-tools
    

Tạo file lưu trữ user:password

Tạo file /etc/nginx/.htpasswd là file chứa thông tin về người dùng và mật khẩu.

sudo htpasswd -c /etc/nginx/.htpasswd user1

Tùy chọn -c chỉ nên dùng nếu file chưa tồn tại nếu không nó sẽ ghi đè file đã có. Để thêm người dùng khác, ta chạy lệnh giống như trên nhưng bỏ tùy chọn -c.

sudo htpasswd /etc/nginx/.htpasswd user2

Cấu hình NGINX

Yêu cầu đăng nhập cho một location cụ thể

location /test {
	auth_basic "Test Authentication";
	auth_basic_user_file /etc/nginx/.htpasswd;
	...
}

Yêu cầu đăng nhập cho cả website trừ một location cụ thể

server {
	...
	auth_basic "Test Authentication";
	auth_basic_user_file /etc/nginx/.htpasswd;

	...
	location /test {
		auth_basic off;
	}
}

Khởi động lại NGINX

sudo service nginx restart

Sau khi cấu hình xong, khi truy cập vào trang ta sẽ thấy hộp thoại đăng nhập hiện lên.

Nguồn

nginx 
comments powered by Disqus