场景1:web服务器
server { listen 80 ; server_name example.com; location / { root /data/wwwroot; index index.html index.htm; }
} server { listen 443 ssl; server_name example.com; ssl_certificate /path/to/certificate.crt; ssl_certificate_key /path/to/private-key.key; location / { root /data/wwwroot; index index.html index.htm; }
}
场景2:反向代理
http { server { listen 80 ; server_name example.com; location / { proxy_pass http://127.0.0.1:9000; 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:负载均衡
http { upstream backend { server backend_server1.example.com; server backend_server2.example.com; server backend_server3.example.com; } server { listen 80 ; server_name example.com www.example.com; location / { proxy_pass http://backend; 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 ; } }
}
场景4: 基于请求路径转发不同的服务器
http { server { listen 80 ; server_name example. com; # 您的域名location / service1/ { proxy_pass http: / / 127.0 .0 .1 : 1001 ; 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; } location / service2/ { proxy_pass http: / / 127.0 .0 .1 : 1002 ; 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; } location / service3/ { proxy_pass http: / / 127.0 .0 .1 : 1003 ; 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; } # 其他 location 配置. . . }
}