Cách thiết lập xác thực HTTP cơ bản với Nginx trên CentOS 7
Nginx là một trong những web server hàng đầu đang được sử dụng tích cực. Nó và version thương mại của nó, Nginx Plus, được phát triển bởi Nginx, Inc.Trong hướng dẫn này, bạn sẽ học cách hạn chế quyền truy cập vào trang web do Nginx cung cấp bằng phương pháp xác thực cơ bản HTTP trên Ubuntu 14.04. Xác thực cơ bản HTTP là một phương pháp xác thực tên user và password (băm) đơn giản.
Yêu cầu
Để hoàn thành hướng dẫn này, bạn cần những thứ sau:
Một CentOS 7 Server với user không phải root có quyền sudo , bạn có thể cài đặt theo hướng dẫn cài đặt server ban đầu này .
Nginx được cài đặt và cấu hình trên server của bạn, bạn có thể thực hiện điều này theo hướng dẫn cài đặt Nginx này .
Bước 1 - Cài đặt Công cụ HTTPD
Bạn cần lệnh htpassword
để cấu hình password hạn chế quyền truy cập vào trang web mục tiêu. Lệnh này là một phần của gói httpd-tools
, vì vậy bước đầu tiên là cài đặt gói đó.
- sudo yum install -y httpd-tools
Bước 2 - Cài đặt thông tin xác thực HTTP cơ bản
Trong bước này, bạn sẽ tạo password cho user đang chạy trang web.
Mật khẩu đó và tên user được liên kết sẽ được lưu trữ trong một file mà bạn chỉ định. Mật khẩu sẽ được mã hóa và tên của file có thể là bất kỳ thứ gì bạn thích. Ở đây, ta sử dụng file /etc/nginx/.htpasswd
và tên user nginx .
Để tạo password , hãy chạy lệnh sau.
- sudo htpasswd -c /etc/nginx/.htpasswd nginx
Bạn có thể kiểm tra nội dung của file mới tạo để xem tên user và password đã băm.
- cat /etc/nginx/.htpasswd
nginx:$apr1$ilgq7ZEO$OarDX15gjKAxuxzv0JTrO/
Bước 3 - Cập nhật cấu hình Nginx
Đến đây bạn đã tạo thông tin xác thực cơ bản HTTP, bước tiếp theo là cập nhật cấu hình Nginx cho trang web mục tiêu để sử dụng nó.
Xác thực HTTP cơ bản có thể được thực hiện bởi các auth_basic
và auth_basic_user_file
chỉ thị. Giá trị của auth_basic
là một chuỗi bất kỳ và sẽ được hiển thị tại dấu nhắc xác thực; giá trị của auth_basic_user_file
là đường dẫn đến file password đã được tạo ở Bước 2.
Cả hai chỉ thị phải nằm trong file cấu hình của trang web đích, file này thường nằm trong folder /etc/nginx/
. Mở file đó bằng nano
hoặc editor yêu thích của bạn.
- sudo nano /etc/nginx/nginx.conf
Trong phần server , thêm cả hai lệnh:
. . . server { listen 80 default_server; listen [::]:80 default_server; server_name _; root /usr/share/nginx/html; auth_basic "Private Property"; auth_basic_user_file /etc/nginx/.htpasswd; . . .
Lưu và đóng file .
Bước 4 - Kiểm tra cài đặt
Để áp dụng các thay đổi, trước tiên hãy reload Nginx.
- sudo systemctl reload nginx
Bây giờ, hãy thử truy cập trang web bạn vừa bảo mật bằng cách truy cập http:// your_server_ip /
trong trình duyệt yêu thích của bạn. Bạn sẽ thấy một cửa sổ xác thực (có nội dung “Tài sản riêng”, chuỗi ta đặt cho auth_basic
) và bạn sẽ không thể truy cập trang web cho đến khi nhập thông tin đăng nhập chính xác. Nếu bạn nhập tên user và password bạn đã đặt, bạn sẽ thấy trang chủ Nginx mặc định.
Kết luận
Bạn vừa hoàn thành giới hạn truy cập cơ bản cho trang web Nginx. Thông tin thêm về kỹ thuật này và các phương tiện hạn chế truy cập khác có sẵn trong tài liệu của Nginx .
Các tin liên quan
Cách thiết lập xác thực HTTP cơ bản với Nginx trên Ubuntu 14.042016-02-22
Cách bảo mật Nginx trên Ubuntu 14.04
2016-02-12
Cách bảo mật Nginx bằng Let's Encrypt trên CentOS 7
2016-01-26
Cách bảo mật Nginx bằng Let's Encrypt trên Ubuntu 14.04
2015-12-17
Cách chạy Nginx trong Docker Container trên Ubuntu 14.04
2015-10-28
Cách thêm ngx_pagespeed vào Nginx trên CentOS 7
2015-09-30
Cách thêm ngx_pagespeed vào Nginx trên Ubuntu 14.04
2015-09-22
Cách thêm ngx_pagespeed vào Nginx trên Debian 8
2015-09-20
Cách bảo vệ server Nginx với Fail2Ban trên Ubuntu 14.04
2015-08-14
Cách cài đặt HHVM với Nginx trên Ubuntu 14.04
2015-08-12