Cách thiết lập xác thực HTTP cơ bản với Nginx trên CentOS7

7 năm trước

Giới thiệu

Ngĩn là một trong những máy chủ web hàng đầu đang hoạt động. Nó và phiên bản thương mại của nó -Nginx Plus được bởi Nginx,Inc,

Trong bài hướng dẫn này, bạn sẽ học cách hạn chế quyền truy cập một Nginx-powered website bằng cách dùng phương pháp xác thực HTTP cơ bản.

Chuẩn bị

Để hoàn thành bài hướng dẫn này, bạn sẽ cần những thứ dưới đây:

- Một Cloud Server CentOS 7 của ViCloud.

- Một tài khoản người dùng sudo (tham khảo bài viết: Hướng dẫn tạo người dùng Sudo trên CentOS).

-Nginx đã được cài đặt và thiết lập trên sever của bạn. 

Bước 1- Cài đặt HTTPD tools

Bạn sẽ cần lệnh htpassword để thiết lập lại mật khẩu để hạn chế quyền truy cập tới những website được chọn. Lệnh này là một phần của gói httpd-tools. Như vậy, bước đầu là cài đặt gói httpd-tools.

$   sudo yum install -y httpd-tools

Bước 2-Thiết lập xác thực HTTP cơ bản

Trong bước này, chúng ta sẽ tạo ra mật khẩu cho người dùng website.

Password và username tương ứng sẽ được lưu trữ trong một file mà bạn chỉ rõ. Password sẽ được mã hóa và tên của file có thể được đặt bằng bất kì cái tên nào. Ở đây, chúng tôi dùng file /etc/nginx/.htpasswd và username là nginx.

Để tạo password, ta dùng lệnh dưới đây.

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

Bạn có thể nội dung của file vừa được tạo và xem username, hashed password bằng lệnh dưới đây.

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

                                     Example /etc/nginx/.htpasswd

nginx:$apr1$ilgq7ZEO$OarDX15gjKAxuxzv0JTrO/

Bước 3- Cập nhật cấu hình Nginx.

 Bây giờ chúng ta tạo chứng nhận xác thực HTTP cơ bản. Bước tiếp theo là cập nhật cấu hình Nignx cho website bạn đã chọn để sử dụng.

 Chứng thực HTTP cơ bản được làm bơi chỉ thị auth_basic và  auth_basic. Giá trị của auth_basic là một chuỗi bất kì và sẽ được trình chiếu ở nhắc nhở xác thực. Giá trị của auth_basic_user_file là một path dẫn tới file password -  đã được tạo ở bước 2.