在 Nginx 中配置反向代理以代理两个不同 IP 的 HTTP 服务,可以通过 location
块来实现。以下是一个基本的示例配置:
server {
listen 80;
server_name your_domain.com; # 请替换为你的域名或IP
location /service1/ {
proxy_pass http://192.168.1.100:8080/; # 替换为第一个服务的IP和端口
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://192.168.1.101:8080/; # 替换为第二个服务的IP和端口
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
指令指定监听的端口(如80)。server_name
指定处理请求的域名。
location块:根据请求路径进行反向代理。
/service1/
路径会被转发到第一个服务(192.168.1.100:8080)。/service2/
路径会被转发到第二个服务(192.168.1.101:8080)。
proxy_pass:将请求转发到指定后端服务。
proxy_set_header:设置一些头部信息,以便后端能够获取客户端的真实信息。
注意事项:
- 确保 Nginx 已安装并运行。
- 修改配置文件后,记得使用命令
nginx -t
检查语法是否正确,并用nginx -s reload
重载配置。
以上是基本示例,可以根据实际需求进一步调整和优化配置。
内容由零声教学AI助手提供,问题来源于学员提问