插件窝 干货文章 Centos7怎么实现nginx反向代理

Centos7怎么实现nginx反向代理

Nginx proxy server 反向 946    来源:    2025-04-21

CentOS 7 实现 Nginx 反向代理配置指南

1. 安装 Nginx

首先确保已安装 Nginx:

# 添加 EPEL 仓库
sudo yum install epel-release

# 安装 Nginx
sudo yum install nginx

# 启动 Nginx 并设置开机启动
sudo systemctl start nginx
sudo systemctl enable nginx

2. 基本反向代理配置

编辑 Nginx 配置文件:

sudo vi /etc/nginx/nginx.conf

或者为特定站点创建单独的配置文件(推荐):

sudo vi /etc/nginx/conf.d/reverse-proxy.conf

简单反向代理示例

server {
    listen 80;
    server_name yourdomain.com;

    location / {
        proxy_pass http://backend_server_ip:backend_port;
        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;
    }
}

3. 常用反向代理配置选项

负载均衡配置

upstream backend {
    server backend1.example.com:8080 weight=5;
    server backend2.example.com:8080;
    server backend3.example.com:8080;
}

server {
    listen 80;
    server_name yourdomain.com;

    location / {
        proxy_pass http://backend;
        # 其他代理设置...
    }
}

WebSocket 反向代理

location /ws/ {
    proxy_pass http://backend_server;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_read_timeout 86400;
}

SSL 终止反向代理

server {
    listen 443 ssl;
    server_name yourdomain.com;

    ssl_certificate /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;

    location / {
        proxy_pass http://backend_server;
        # 其他代理设置...
    }
}

4. 测试并应用配置

# 测试 Nginx 配置
sudo nginx -t

# 重新加载 Nginx 配置
sudo systemctl reload nginx

5. 防火墙设置

如果启用了防火墙,需要开放相应端口:

# 开放 HTTP(80) 和 HTTPS(443) 端口
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

6. 日志查看

查看反向代理是否正常工作:

# 查看访问日志
sudo tail -f /var/log/nginx/access.log

# 查看错误日志
sudo tail -f /var/log/nginx/error.log

注意事项

  1. 确保后端服务器可以访问
  2. 根据实际需求调整缓冲区大小和超时时间
  3. 对于生产环境,建议启用 HTTPS
  4. 考虑使用 proxy_cache 提高性能
  5. 根据流量情况调整 worker_processesworker_connections

以上配置可以根据实际需求进行调整和扩展。