Hướng Dẫn Cách Cấu Hình Nginx Làm Reverse Proxy Trên Ubuntu
Reverse proxy được hiểu đơn giản là một server đứng ở giữa Client và Server. Client không truy cập trực tiếp vào server mà thay vào đó sẽ gửi request đến reverse proxy. Sau đó reverse proxy này sẽ chuyển request này đến với backend và trả về kết quả cho client
Hướng dẫn thực hiện
1. Cài đặt môi trường backend
Để có thể cấu hình được Nginx làm Reverse Proxy thì đầu tiên ta cần chuẩn bị một môi trường backend. Ở đây mình sẽ chọn Nodejs vì nhẹ và phổ biển. Đầu tiên ta cần cài Nodejs với câu lệnh sau
vNode Tutorial
curl -fsSL https://deb.nodesource.com/setup_20.x | bash - apt install -y nodejs
Tiếp đó ta tạo thư mục dự án và cài Nodejs
vNode Tutorial
mkdir -p /home/app/backend cd /home/app/backend npm install express
sau đó tạo 1 file app.js và dán nội dung sau Ctrl + X -> Y -> Enter để lưu và thoát file
vNode Tutorial
#nano app.js
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send('Server running on port 3000');
});
app.listen(3000, () => {
console.log('Server running on port 3000');
});
Để chạy thử backend thì chạy lệnh. Nếu như trả về kết quả Server running on port 3000 là đã thành công
vNode Tutorial
node app.js
2. Cài đặt PM2
Tiếp theo đó mình sẽ cài pm2 để giữ dự án luôn chạy
vNode Tutorial
npm install -g pm2
Tiếp đó khởi động app Nodejs
vNode Tutorial
pm2 start app.js

3. Cấu hình Nginx làm Reverse Proxy
Đầu tiên ta cần tạo file cấu hình reverse proxy cho nginx
vNode Tutorial
nano /etc/nginx/sites-available/example.com
Sau đó dán nội dung sau đây
vNode Tutorial
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://127.0.0.1:3000;
}
}
Kích hoạt website, kiểm tra trạng thái nginx và restart
vNode Tutorial
ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled nginx -t systemctl restart nginx
Bây giờ gửi request đến domain example.com để kiểm tra

Kết luận
Trong bài viết này chúng ta đã đi qua các bước đơn giản để có thể cấu hình Nginx làm Reverse Proxy. Chúc các bạn thành công!
