Hướng dẫn cấu hình Reverse Proxy với NGINX mới nhất

578
06-01-2021
Hướng dẫn cấu hình Reverse Proxy với NGINX mới nhất

Trong bài ngày hôm nay, Bizfly Cloud sẽ cùng các bạn tìm hiểu và thực hiện cấu hình Reverse Proxy với NGINX đầy đủ và chi tiết.

Trong khi hầu hết các ứng dụng phổ biến đều có thể tự chạy dưới dạng web server, Nginx web server lại cung cấp một số tính năng nâng cao như: cân bằng tải/Load Balancer, TLS/SSL và khả năng tăng tốc mà hầu hết các ứng dụng chuyên biệt không có. Sử dụng Nginx reverse proxy sẽ giúp tận dụng được tất cả những lợi ích này.

Lợi ích của việc sử dụng Nginx Reverse Proxy trên một instance 

Một số lợi ích đáng chú ý khi thiết lập Nginx reverse proxy HTTPS:

Cân bằng tải/Load Balancer: Một Nginx reverse proxy có thể thực hiện cân bằng tải giúp phân phối đồng đều các yêu cầu của máy khách/client trên các backend servers. Ngoài ra còn cải thiện khả năng dự phòng trong trường hợp một máy chủ gặp sự cố, reverse proxy sẽ chỉ cần định tuyến lại các yêu cầu đến một máy chủ khác theo policy đã có.

Tăng cường bảo mật: Một Nginx reverse proxy cũng có khả năng như một phòng tuyến bảo vệ cho các backend servers. Việc cấu hình reverse proxy sẽ đảm bảo danh tính của các backend servers sẽ không được tìm ra.

Nâng cao hiệu suất: Nginx được đánh giá khá cao về khả năng truyền tải, phân phối tệp nội dung tĩnh và phân tích URL.

Dễ dàng ghi nhật ký và kiểm tra: Vì chỉ có một điểm truy cập duy nhất khi triển khai Nginx reverse proxy nên việc ghi nhật ký và kiểm tra trở nên đơn giản hơn nhiều.

Mã hóa kết nối giữa máy khách và Nginx reverse proxy bằng TLS, kết nối HTTPS được mã hóa và bảo mật giúp người dùng bảo vệ dữ liệu của mình.

Sau đây chúng ta sẽ đi vào phần chính của bài viết:

Mô hình:

Hướng dẫn cấu hình Reverse Proxy với NGINX mới nhất - Ảnh 1.

Cấu hình NGINX Reverse Proxy

Khởi tạo repo NGINX :

'''

vi /etc/yum.repos.d/nginx.repo

```

Thêm vào nội dung sau :

```

[nginx]

name=nginx repo

baseurl=http://nginx.org/packages/centos/7/$basearch/

gpgcheck=1

```

Import chữ ký xác thực :

```

wget --no-check-certificate -O nginx_signing.key https://nginx.org/keys/nginx_signing.key

rpm --import nginx_signing.key

```

Cập nhật thông tin repo :

```

yum repolist

```

Cài đặt NGINX thông qua repo trước đó:

```

yum --disablerepo=* --enablerepo=nginx install nginx -y

```

Cấu hình firewalld cho phép port 80 :

```

firewall-cmd --zone=public --permanent --add-port=80/tcp

firewall-cmd --zone=public --permanent --add-port=443/tcp

firewall-cmd --reload

```

Khởi động và cấu hình startup cho dịch vụ :

```

systemctl start nginx.service

systemctl enable nginx.service

```

Sửa file cấu hình /etc/nginx/nginx.conf

```

vi /etc/nginx/nginx.conf

```

Thêm vào đoạn sau :

```

http {

...

server {

server_name www.testing.com testing.com;

listen 80 default_server;

listen [::]:80 default_server;

proxy_redirect off;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header Host $http_host;

location / {

proxy_pass http://192.168.5.20/;

}

}

...

}

# trong đó 192.168.5.20 là địa chỉ của Web Server Backend

Khởi động lại dịch vụ NGINX :

```

systemctl restart nginx

```

Cấu hình Web Server Apache (Backend)

Cài đặt httpd :

```

yum -y install httpd

```

Cấu hình firewalld cho phép port 80 và 443 :

```

firewall-cmd --zone=public --permanent --add-port=80/tcp

firewall-cmd --zone=public --permanent --add-port=443/tcp

firewall-cmd --reload

```

Khởi động và cấu hình startup cho dịch vụ httpd :

```

systemctl start httpd

systemctl enable httpd

```

Chỉnh sửa lại format ghi log trong file cấu hình /etc/httpd/conf/httpd.conf

```

vi /etc/httpd/conf/httpd.conf

```

Sửa lại tại dòng 196 :

```

LogFormat "\"%{X-Forwarded-For}i\" %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

```

Khởi động lại dịch vụ httpd :

```

systemctl restart httpd

```

Kiểm tra kết quả

Truy cập vào địa chỉ của NGINX Reverse Proxy trên trình duyệt của client và bạn sẽ được điều hướng đến Web Server Apache :

```

http://testing.com

```

Hướng dẫn cấu hình Reverse Proxy với NGINX mới nhất - Ảnh 19.

Theo Bizfly Cloud chia sẻ

>> Có thể bạn quan tâm: Hướng dẫn sử dụng nginx làm HTTP load balancer 

 

SHARE