温馨提示×

debian nginx怎样设反向代理

小樊
47
2026-09-27 17:54:19
栏目: 智能运维

在 Debian 上用 Nginx 配置反向代理 一般步骤如下(以代理到本地 8080 端口为例):


一、安装 Nginx

sudo apt update
sudo apt install nginx

启动并设置开机自启:

sudo systemctl enable nginx
sudo systemctl start nginx

二、创建反向代理配置

方法 1:新建站点配置(推荐)

sudo nano /etc/nginx/sites-available/reverse-proxy.conf

内容示例(将 example.com 反向代理到 127.0.0.1:8080):

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

启用配置:

sudo ln -s /etc/nginx/sites-available/reverse-proxy.conf /etc/nginx/sites-enabled/

方法 2:直接改默认配置

编辑:

sudo nano /etc/nginx/sites-enabled/default

把 location / 改成上面的 proxy_pass 形式。


三、检查并重载 Nginx

sudo nginx -t
sudo systemctl reload nginx

四、HTTPS(可选,推荐)

使用 Let’s Encrypt:

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d example.com

五、常见反向代理场景

1. 代理到不同路径

location /api/ {
    proxy_pass http://127.0.0.1:9000/;
}

2. WebSocket 支持

proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";

3. 负载均衡(多后端)

upstream backend {
    server 127.0.0.1:8080;
    server 127.0.0.1:8081;
}

server {
    location / {
        proxy_pass http://backend;
    }
}

如果你有 具体后端服务(如 Node / Java / Docker / 内网 IP) 或 想用 HTTPS / 子路径代理,可以告诉我,我给你定制配置。

0 踩