参考资料

  1. Nginx在负载均衡中的角色
  2. SCGI(Simple Common Gateway Interface,简单通用网关接口)详细说明以及案例
  3. nginx配置文件详解
  4. Nginx如何支持动态内容?
  5. NginxHTTP2模块配置详细说明以及案例
  6. 如何防止SQL注入和XSS攻击?
  7. PHP-FPM 性能优化
  8. Nginx 启动、停止、重启、加载配置详细说明以及案例

如何配置Nginx反向代理

基本配置步骤

  1. 安装Nginx

    sudo apt update
    sudo apt install nginx
  2. 编辑Nginx配置文件

    sudo nano /etc/nginx/sites-available/yourdomain.conf
  3. 配置反向代理

基本反向代理配置示例

server {
    listen 80;
    server_name yourdomain.com;

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

高级配置示例

server {
    listen 443 ssl;
    server_name yourdomain.com;

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

    location /api/ {
        proxy_pass http://backend-server:8080/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }

    location /static/ {
        proxy_pass http://static-server:9000/;
        proxy_set_header Host $host;
    }
}

启用配置

  1. 创建符号链接

    sudo ln -s /etc/nginx/sites-available/yourdomain.conf /etc/nginx/sites-enabled/
  2. 测试配置

    sudo nginx -t
  3. 重启Nginx

    sudo systemctl restart nginx