Thứ hai, 22/02/2016 | 00:00 GMT+7

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

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:

Bước 1 - Cài đặt công cụ Apache

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 apache2-utils , vì vậy bước đầu tiên là cài đặt gói đó.

  • sudo apt-get install apache2-utils

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. Bạn cần xác thực, sau đó chỉ định và xác nhận password .

  • 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
Ví dụ /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_basicauth_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/sites-available . Mở file đó bằng nano hoặc editor yêu thích của bạn.

  • sudo nano /etc/nginx/sites-available/default

Trong phần vị trí , thêm cả hai chỉ thị:

/etc/nginx/sites-available/default.conf
. . . server_name localhost;  location / {         # First attempt to serve request as file, then         # as directory, then fall back to displaying a 404.         try_files $uri $uri/ =404;         # Uncomment to enable naxsi on this location         # include /etc/nginx/naxsi.rules         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 service nginx reload

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 .


Tags:

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 CentOS 7
2016-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