Hướng dẫn cài đặt và cấu hình xác thực HTTP Authentication cho Nginx


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

             
SHARE

Bài viết liên quan

mode_edit Bình luận của bạn

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

account_circle
web