Nginx – Tạo password truy cập

Chúng ta đã cấu hình để NGINX server allow kết nối từ một ip nào đó. Trong trường hợp chúng ta cần bảo mật cao hơn có thể đặt thêm password thông qua module auth basic.

Tuy nhiên Nginx  không cung cấp utility để tạo pass mà chúng ta phải sử dụng module của apache. Cài đặt nó

sudo apt-get update
sudo apt-get install apache2-utils -y

Tạo user băng htpasswd

htpasswd -c /etc/nginx/passwords admin

nhập password

Bạn có thể thêm các user khác nếu muốn

Để xóa user bạn thêm param -D

htpasswd -D /etc/nginx/passwords username

Xem các user hiện tại

cat /etc/nginx/passwords

sudo chown www-data /etc/nginx/passwords
sudo chmod 600 /etc/nginx/passwords

Tiếp đến, chúng ta cần set quyền cho Nginx đối với tập tin này.

ls /etc/nginx/passwords -ltr

Kiểm tra lại kết quả

Tiếp theo, khai báo file này trong file nginx config /etc/nginx/conf.d/ecntt.com.conf

sudo nano /etc/nginx/conf.d/ecntt.com.conf

sửa block /wordpress lại thành

        location /wordpress {
                auth_basic "Authentication is required...";
                auth_basic_user_file /etc/nginx/passwords;
        }

save, test và reload lại nginx

vào lại url /wordpress lúc này bạn cần nhập password trước khi vào.