Thứ ba, 30/04/2013 | 00:00 GMT+7

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


Màu đỏ có nghĩa là gì

Các dòng mà user cần nhập hoặc tùy chỉnh sẽ có màu đỏ trong hướng dẫn này! Phần còn lại chủ yếu phải là copy-and-paste.

Về Nginx

Nginx (phát âm là 'engine x') là một server Reverse Proxy và HTTP, cũng như một server proxy thư, được viết bởi Igor Sysoev, là chương trình linh hoạt và nhẹ khi so sánh với apache. Tài liệu chính thức của nginx ở đây .

Yêu cầu

Như một yêu cầu , ta giả định bạn đã xem qua bài viết về cách cài đặt VPS của bạn và cũng đã cài đặt Nginx trên đó. Nếu không, bạn có thể tìm thấy bài viết về cài đặt VPS trong bài viết cài đặt server ban đầu và bạn có thể tìm thêm thông tin về cài đặt nginx trong cộng đồng của ta .

Bước 1: Apache Utils

Ta cần htpasswd để tạo và tạo mã hóa cho user bằng Xác thực cơ bản. Cài đặt apache2-utils bằng lệnh bên dưới.

  sudo apt-get install apache2-utils

Bước 2: Tạo user và password

Tạo một file .htpasswd trong folder trang web đang được cung cấp bởi nginx. Lệnh sau sẽ tạo file và cũng thêm user và password được mã hóa vào file .

  sudo htpasswd -c /etc/nginx/.htpasswd exampleuser

Công cụ sẽ nhắc bạn nhập password .

New password:
Re-type new password:
Adding password for user exampleuser

Cấu trúc của file htpasswd sẽ như thế này:

login:password

Lưu ý account user đang chạy Nginx này phải truy cập được htpasswd này.

Bước 3: Cập nhật cấu hình Nginx

Tệp cấu hình nginx của bạn cho trang web phải nằm trong / etc / nginx / sites-available /. Thêm hai mục bên dưới cho đường dẫn domain mà bạn muốn bảo mật.

    auth_basic "Restricted";
    auth_basic_user_file /etc/nginx/.htpasswd;

Dòng thứ hai là vị trí của file htpasswd cho trang web .

Ví dụ: giả sử file cấu hình nginx của ta là /etc/nginx/sites-available/website_nginx.conf, hãy mở file bằng vi hoặc bất kỳ editor nào bạn chọn.

 
  sudo vi /etc/nginx/sites-available/website_nginx.conf

Sau đó, thêm hai dòng vào đường dẫn sau:

 
 server {
  listen       portnumber;
  server_name  ip_address;
  location / {
      root   /var/www/mywebsite.com;
      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 Nginx

Để phản ánh những thay đổi trên trang web của ta , hãy reload cấu hình nginx và cố gắng truy cập vào domain đã được bảo mật bằng Xác thực Cơ bản.

$ sudo /etc/init.d/nginx reload
* Reloading nginx configuration...                       

Bây giờ, hãy thử truy cập trang web hoặc đường dẫn domain mà bạn đã bảo mật và bạn sẽ nhận thấy dấu nhắc của trình duyệt yêu cầu bạn nhập thông tin đăng nhập và password . Nhập các chi tiết mà bạn đã sử dụng khi tạo file .htpasswd. Dấu nhắc không cho phép bạn truy cập trang web cho đến khi bạn nhập đúng thông tin đăng nhập.

Và Voila! Bạn đã bảo mật đường dẫn domain trang web của bạn bằng Xác thực Cơ bản của Nginx.


Tags:

Các tin liên quan

Cách cài đặt (LEMP) nginx, MySQL, PHP stack trên Arch Linux
2012-11-02
Cách thiết lập cân bằng tải Nginx
2012-08-27
Cách cấu hình Nginx làm Reverse Proxy cho Apache
2012-07-20
Cách cài đặt WordPress với nginx trên CentOS 6
2012-07-02
Cách cài đặt WordPress với nginx trên CentOS 6
2012-07-02
Cách tạo chứng chỉ SSL trên nginx cho CentOS 6
2012-06-08
Cách thiết lập server ảo nginx (server block) trên CentOS 6
2012-06-07
Cách cài đặt Rails và nginx với Passenger trên Ubuntu
2012-06-01
Cách cài đặt nginx trên CentOS 6 với yum
2012-05-22