Nginx là một Web Server nhẹ, mạnh mẽ và sử dụng kiến trúc đơn luồng, hướng sự kiện vì thế nó sử dụng tài nguyên hợp lý hơn Apache Server. Nginx được sử dụng phổ biến với các nhiệm vụ như là Load Balancing, HTTP caching, hay sử dụng như một Reverse Proxy. Tuy nhiên Nginx mặc định không có xác thực cơ bản Basic HTTP Authentication, để sử dụng chức năng này của Apache chúng ta cần cài đặt và cấu hình thêm.
Hướng dẫn cài đặt và cấu hình xác thực Basic HTTP Authentication
Bước 1: Cài đặt gói Apache Utils / HTTP Tools
Bạn cần công cụ htpasswd để tạo user/password mã hóa cho Basic HTTP Authentication. Vì vậy cần cài đặt package Apache Utils / HTTP Tools bằng command sau:
# Cài đặt trên Ubuntu/Debian sudo apt-get install apache2-utils # Cài đặt trên CentOS/Redhat sudo yum install -y httpd-tools
Bước 2: Tạo User và Password để xác thực
sudo htpasswd -c /etc/nginx/.htpasswd <username>
Trong đó:
- Tham số -c nghĩa là create, tạo mới một User
- <username> là user dùng để đăng nhập
Bước 3: Cấu hình Nginx để sử dụng HTTP Authentication
Sửa file config: /etc/nginx/sites-available/default
server { listen 80; server_name vinasupport.com; location / { root /var/www/html; index index.html index.htm; auth_basic "Restricted"; #For Basic Auth auth_basic_user_file /etc/nginx/.htpasswd; #For Basic Auth } }
Bước 4: Reload lại nginx
# Reload lại Nginx trên Ubuntu/Debian sudo /etc/init.d/nginx reload # Reload lại Nginx trên CentOS/Redhat 7 sudo systemctl reload nginx
Bây giờ bạn có thể truy cập vào tên miền của mình để xác nhận xem có cửa sổ đăng nhập của HTTP Authentication chưa nhé!
Nguồn: vinasupport.com