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:
Một server Ubuntu 14.04 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 bài viết này của Nginx .
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
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/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ị:
. . . 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 .
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 72016-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