Cách định cấu hình Nginx làm Proxy ngược trên VPS Linux Ubuntu

Tác giả: VPS chính hãng 01 tháng 07, 2023

Proxy ngược là một máy chủ, ứng dụng phần mềm và dịch vụ đám mây đặt trước một hoặc nhiều máy chủ web để theo dõi và kiểm tra các yêu cầu đến của máy khách trước khi gửi chúng đến máy chủ web rồi chuyển tiếp phản hồi của máy chủ cho máy khách. Để hoạt động hiệu quả, máy khách và máy chủ thường xuyên trao đổi thông tin, một máy chủ web thường sử dụng proxy ngược. Một proxy hoặc cổng đảo ngược không yêu cầu bất kỳ thiết lập bổ sung nào giống như một máy chủ web thông thường. Máy khách gửi các truy vấn thông thường và proxy ngược chọn nơi chuyển tiếp dữ liệu, gửi thành phẩm đến máy khách như thể nó là nguồn gốc. Cách định cấu hình Nginx làm Proxy ngược trên VPS Linux Ubuntu là những gì bạn sẽ tìm hiểu trong bài viết này.

Ưu điểm của việc sử dụng Nginx làm Proxy ngược

Proxy ngược Nginx có rất nhiều lợi ích. Đây là một trong những máy chủ nguồn mở được sử dụng tích cực nhất trên internet:

  • Nó rất đơn giản để triển khai và cung cấp cho người dùng khả năng bảo mật cao cấp chống lại các cuộc tấn công máy chủ Web như DDoS và DoS.
  • Nginx Reverse Proxy giúp tạo tải cân bằng giữa một số máy chủ back-end và cung cấp bộ nhớ đệm cho máy chủ back-end chậm hơn.
  • Nginx không yêu cầu thiết lập quy trình mới cho mỗi yêu cầu web từ máy khách. Thay vào đó, cấu hình mặc định là bao gồm một quy trình làm việc trên mỗi CPU.
  • Nó có thể hoạt động như một máy chủ proxy ngược cho các giao thức khác nhau như HTTP, HTTPS, TCP, UDP, SMTP, IMAP và POP3.
  • Nó có thể xử lý hơn 10000 kết nối với dung lượng bộ nhớ thấp. Nginx có thể vận hành nhiều máy chủ web thông qua một địa chỉ IP duy nhất và gửi từng yêu cầu đến đúng máy chủ trong mạng LAN.
  • Nginx là một trong những máy chủ web tốt nhất để cải thiện hiệu suất của nội dung tĩnh. Ngoài ra, cũng có thể hữu ích khi cung cấp nội dung bộ đệm và thực hiện mã hóa SSL để giảm tải từ máy chủ web.
  • Nó cũng có thể hữu ích khi tối ưu hóa nội dung bằng cách nén nội dung đó để tăng thời gian tải.
  • Nginx có thể thực hiện các thử nghiệm ngẫu nhiên hoặc thử nghiệm A/B mà không cần đặt mã JavaScript vào các trang.

=>> Cách cài đặt môi trường desktop KDE trong Linux Ubuntu

Điều kiện tiên quyết để định cấu hình Nginx làm Proxy ngược trên VPS Ubuntu

Để hướng dẫn này hoạt động chính xác, hãy cung cấp các tùy chọn bên dưới:

  • Một hệ thống chạy Ubuntu.
  • Người dùng không phải root có đặc quyền sudo.
  • Một tên miền trỏ đến IP công cộng máy chủ của bạn. Điều này sẽ được cấu hình với Nginx để ủy quyền cho máy chủ ứng dụng của bạn.
Khả năng bảo mật được nâng cao khi cấu hình Nginx làm Proxy ngược trên VPS

Khả năng bảo mật được nâng cao khi cấu hình Nginx làm Proxy ngược trên VPS

Hướng dẫn thiết lập Nginx làm Proxy ngược trên Ubuntu

Cài đặt proxy ngược Nginx trên máy tính Linux có một số lợi thế. Hiệu suất có thể được tăng lên một cách hiệu quả và khả năng chống vi-rút có thể được cải thiện. Trong thiết bị đầu cuối Linux, việc định cấu hình proxy ngược Nginx rất đơn giản. Mặc dù có rất nhiều cách để cài đặt và tùy chỉnh nó, nhưng tất cả đều phụ thuộc hoàn toàn vào nhu cầu của bạn. Hãy cùng thực hiện các bước dưới đây để biết cách định cấu hình Nginx làm Proxy ngược trên VPS Linux Ubuntu.

Bước 1. Cài đặt Nginx

Bắt đầu với việc cập nhật chỉ mục kho lưu trữ và sau đó cài đặt Nginx.

sudo apt update 

sudo apt install nginx

Để xác nhận cài đặt, nhấn Y và nhấn ENTER để chấp nhận các giá trị mặc định khi bạn được yêu cầu khởi động lại dịch vụ. Sau đó, sử dụng lệnh bên dưới để cho phép truy cập Nginx thông qua tường lửa của bạn.

sudo ufw allow 'Nginx HTTP'

Để kiểm tra xem Nginx có đang chạy hay không, hãy gõ:

systemctl status nginx

Bước 2. Định cấu hình server block và tạo Proxy ngược Nginx trên VPS Ubuntu

Một server block tùy chỉnh đã được thêm vào với tên miền và proxy của bạn, đã đến lúc định cấu hình nó và tạo một proxy ngược với Nginx. Thay vì ngay lập tức thay đổi cấu hình mặc định, bạn nên phát triển một tệp cấu hình tùy chỉnh cho các bổ sung server block mới của mình.

Sử dụng nano hoặc trình soạn thảo văn bản khác mà bạn chọn, tạo một tệp cấu hình Nginx mới và mở nó:

sudo nano /etc/nginx/sites-available/your_domain

Sau đó, thêm phần sau vào tệp mới của bạn.

/etc/nginx/sites-available/your_domain

server { 
    listen 80; 
    listen [::]:80; 

    server_name your_domain www.your_domain; 

    location / { 
        proxy_pass app_server_address; 
        include proxy_params; 
    } 
}

Đừng quên thay thế your_domainapp_server_address bằng địa chỉ của riêng bạn. Nhấn CTRL+O rồi nhấn CTRL+X để lưu và thoát.

Tạo một liên kết từ tệp cấu hình này đến thư mục đã kích hoạt trang web mà Nginx đọc khi khởi động để kích hoạt nó.

sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/

Chạy lệnh bên dưới để kiểm tra tệp cấu hình nhằm kiểm tra mọi lỗi cú pháp có thể xảy ra.

sudo nginx -t

Nếu bạn không gặp vấn đề gì, hãy áp dụng các thay đổi của mình bằng cách khởi động lại Nginx:

sudo systemctl restart nginx

Nếu máy chủ đang hoạt động, giờ đây bạn có thể truy cập Nginx từ trình duyệt cục bộ bằng cách định cấu hình nó làm proxy ngược cho máy chủ ứng dụng của bạn. Bạn có thể tiếp tục với việc khởi động máy chủ ứng dụng dự định của mình nếu bạn có nhưng chưa khởi động nó.

=>> Hướng dẫn cài đặt Red Hat Enterprise Linux (RHEL)

Định cấu hình Nginx làm proxy ngược với các câu lệnh đơn giản

Định cấu hình Nginx làm proxy ngược với các câu lệnh đơn giản

Bước 3. Kiểm tra cấu hình proxy ngược Nginx trên VPS

Để kiểm tra hiệu suất của Nginx, bạn có thể chạy kiểm tra cấu hình Nginx và khởi động lại Nginx. Vì vậy, hãy chạy:

service nginx configtest
service nginx restart

Nếu không gặp lỗi, bạn đã thiết lập proxy ngược Nginx chính xác và bạn phải xem thông báo “Hello World!”.

Ngoài ra, để định cấu hình bộ đệm, bạn có thể thêm các dòng sau vào tệp:

location / { 
    proxy_pass http://localhost:3000/; 
    proxy_buffering off; 
}

Thêm các dòng sau để định cấu hình yêu cầu tiêu đề:

location / { 
    proxy_pass http://localhost:3000/; 
    proxy_set_header X-Real-IP $remote_addr; 
}

Khi một trang web mất nhiều thời gian để kết nối (lỗi 504 Gateway Timeout), hãy sử dụng các lệnh bên dưới để tăng thời gian chờ:

proxy_connect_timeout       120; 

proxy_send_timeout          120; 

proxy_read_timeout          120; 

send_timeout                120;

Trong bài viết này, bạn đã biết cách định cấu hình Nginx làm Proxy ngược trên VPS Linux Ubuntu. Thực hiện theo các bước của hướng dẫn này cho phép bạn thiết lập Nginx làm proxy ngược để cung cấp quyền truy cập vào các máy chủ ứng dụng của bạn, điều vốn chỉ khả dụng tại máy chủ cục bộ. Vui lòng liên hệ với chúng tôi nếu bạn gặp bất kỳ sự cố nào, nhóm hỗ trợ kỹ thuật luôn online 24/7 để cố gắng hết sức giải quyết vấn đề của bạn. Chúc các bạn thành công!