Hướng dẫn cài đặt và cấu hình Reverse Proxy trên Nginx
Bài viết này sẽ hướng dẫn chi tiết cách cài đặt và cấu hình Reverse Proxy trên Nginx dành cho bạn. Hãy cùng Việt Nét xem qua cách hướng dẫn dưới đây.
Điều kiện để cài đặt và cấu hình Reverse Proxy trên Nginx
- Linux server với Apache, PHP và tường lửa.
- Quyền truy cập vào root user với quyền truy cập sudo.
- Dùng lệnh hoặc terminal của Linux (Ctrl – Alt – T đối với Ubuntu, Alt – F2 đối với CentOS).
- Package manager (Chẳng hạn như APT).
Cài đặt Nginx từ Default Repositories
Mở terminal và nhập lệnh sau:
sudo apt-get update
Cho phép package manager làm việc với danh sách các phần mềm, sau đó nhập lệnh sau:
sudo apt-get install nginx
Lưu ý: Đây là cách dễ nhất để cài đặt Nginx Reverse Proxy trên CentOS hoặc Ubuntu, nhưng nó có thể không tải bản phát hành ổn định mới nhất. Chuyển sang Bước 2 để thêm và cài đặt từ Nginx software repository.
Cài đặt Nginx từ Official Repository
Thêm Security Key
Trong cửa sổ terminal, hãy nhập dòng lệnh như sau:
sudo wget https://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key
Thao tác này sẽ tải xuống sign key cho Nginx Reverse Proxy, key này xác mình rằng bạn đang tải xuống phần mềm xác thực.
Mở file source.list để chỉnh sửa
Trong terminal, nhập lệnh sau:
sudo vi /etc/apt/sources.list
Thêm nguồn Nginx vào Repository List
Nhập các dòng sau vào file /etc/apt/sources.list mà bạn vừa mở:
deb https://nginx.org/packages/mainline/debian/ nginx
deb-src https://nginx.org/packages/mainline/debian/ nginx
Replace with the codename for your distribution of Debian.
Lưu file và thoát.
Lưu ý: Các nhà phát triển Nginx duy trì các directory khác nhau cho các bản phân phối Linux khác nhau. Hướng dẫn này đề xuất cài đặt bản phát hành được hỗ trợ cho dòng chính. Như với hầu hết các phần mềm, có nhiều package mới hơn nhưng chưa được kiểm tra.
Cài đặt bản phát hành mới nhất của Nginx
Để cài đặt phiên bản mới nhất của Nginx Reverse Proxy, hãy sử dụng các lệnh:
sudo apt-get remove nginx-common
sudo apt-get update
sudo apt-get install nginx
Khởi động Nginx và định cấu hình để khởi chạy khi khởi động lại
Để khởi động Nginx:
sudo systemctl start nginx
Để bật Nginx :
sudo systemctl enable nginx
Để kiểm tra Nginx có đang chạy hay không:
sudo systemctl status nginx
Output sẽ cho bạn thấy dịch vụ đang hoạt động, như trong hình ảnh bên dưới:
Hủy liên kết file cấu hình mặc định
Trong terminal, nhập lệnh sau:
sudo unlink /etc/nginx/sites-enabled/default
Tạo file cấu hình mới
Để tạo file cấu hình mới, hãy nhập:
cd /etc/nginx/sites-available/
sudo vi custom_server.conf
Thay thế custom_server bằng một cái tên có ý nghĩa đối với bạn. Trong file mới, nhập:
server
listen 80;
location /
proxy_pass http://my_server;
Đây là một ví dụ về Nginx reverse proxy rất cơ bản. Nginx reverse proxy được thiết lập dành cho tất cả các lưu lượng trên port 80.
Lệnh proxy_pass hướng tất cả lưu lượng trên port 80 đến http: // my_server. Chỉ cần thay đổi http: // my_server thành vị trí bạn chọn và Nginx Reverse Proxy sẽ chặn các yêu cầu của khách hàng và định tuyến chúng đến vị trí bạn chỉ định. Khi bạn đã hoàn tất, hãy lưu file và thoát.
Liên kết và kích hoạt file cấu hình
Để kích hoạt ffile Nginx mới, nhập lệnh như sau:
ln -s /etc/nginx/sites-available/custom_server.conf
/etc/nginx/sites-enabled/custom_server.conf
Như thường lệ, hãy thay thế custom_server bằng tên của file cấu hình của bạn.
Kiểm tra và khởi động lại Nginx
Để kiểm tra Nginx:
sudo service nginx configtest
Để khởi động lại Nginx:
sudo service nginx restart
Tùy chọn cấu hình Nginx
Proxy Buffers
Theo mặc định, Nginx Reverse Proxy sẽ buffer lưu lượng truy cập cho các server có proxy. Buffer cải thiện hiệu suất server vì phản hồi của server không được gửi cho đến khi client gửi xong phản hồi hoàn chỉnh.
Để tắt buffer, hãy mở file cấu hình. Dưới location/section, hãy thêm thông tin sau:
proxy_buffering off;
Header cung cấp thông tin server về các yêu cầu được thực hiện hoặc về client.
Nginx Reverse Proxy xác định lại hai trong số các header: host được chỉ định cấu hình cho $proxy_host và kết nối được định cấu hình cho close. Nếu bạn sử dụng các header đó, hãy đảm bảo thay đổi hành vi trong file cấu hình.
Nếu bất kỳ chuối header nào tổng, nginx chỉ cần loại bỏ nó.
Để thay đổi cách Nginx Reverse Proxy xử lý, hãy sử dụng lệnh sau trong file cấu hình của bạn:
location /
proxy_set_header Host $host;
Ví dụ này yêu cầu Nginx Reverse Proxy đặt host thành biến $host.
Để ngăn header được chuyển đến server proxy, hãy sử dụng một chuỗi như sau:
location /
proxy_set_header header-variable "";
Load Balancing
Bạn có thể sử dụng file cấu hình để định tuyến lưu lượng truy cập đến một số server. Để sử dụng cấu hình này, file cấu hình của bạn sẽ giống như sau:
http
server
proxy_pass http://my_server
Để tạo tên cho một nhóm server, hãy sử dụng lệnh sau:
http
upstream server_group
server my.server1.com weight=3;
server my.server2.com;
server
location /
proxy_pass http://server_group;
Như vậy là bạn đã biết cách cài đặt và cấu hình Nginx Reverse Proxy, hy vọng bài viết này cung cấp cho bạn nhiều kiến thức bổ ích, chúc bạn thành công!
Ngoài ra, khi sử dụng dịch vụ VPS và Hosting, quý khách sẽ được tặng bộ Theme & Plugin WordPress bản quyền trị giá đến 800$/năm. Đăng ký dùng thử ngay và Việt Nét sẽ hoàn tiền 100% nếu quý khách không hài lòng với chất lượng sản phẩm, dịch vụ! Nếu bạn có thắc mắc hay có vấn đề cần hỗ trợ, bạn có thể liên hệ trực tiếp với Việt Nét thông qua các kênh sau: