http {
server {
listen 80; # 监听的端口,可以是标准HTTP的80或HTTPS的443(需SSL配置)
server_name yourdomain.com; # 你的域名或者服务器IP
location / { # 根据请求的URL路径来配置反向代理
proxy_pass http://backend-servers; # 设置要将请求转发到的目标后端服务器地址
# 可选的其他反向代理相关参数
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_connect_timeout 60s;
proxy_read_timeout 60s;
# 如果需要根据URI调度不同的服务,可以使用多个location块
}
}
# 定义后端服务器池(可选,当有多台后端服务器时用于负载均衡)
upstream backend-servers {
server backend1.example.com:8080 weight=1; # 第一台后端服务器
server backend2.example.com:8080; # 第二台后端服务器,默认权重为1
# 可以添加更多服务器,并设置相应的权重、健康检查等高级选项
}
}
以上配置中,Nginx 将监听来自 yourdomain.com 的所有 HTTP 请求,并将它们发送到指定的 backend-servers。通过 proxy_pass 指令指定了后端服务器地址,它可以是一个具体的 IP 地址和端口,也可以是一个已定义的上游(upstream)服务器池。
其他可选的配置项包括:
proxy_set_header: 设置转发到后端服务器的HTTP头部信息,如主机名、客户端真实IP等。
proxy_connect_timeout 和 proxy_read_timeout: 分别设置与后端服务器建立连接以及读取响应数据的超时时间。
upstream: 定义一个后端服务器池,可以实现负载均衡功能,通过轮询、最少连接数或其他策略分配请求到不同服务器上。
实际应用中,请根据您的需求调整上述配置。如果需要对特定路径进行代理,可以创建更多的 location 块并相应地设置 proxy_pass。