nginx 代理一个主机的不同端口
时间: 2023-12-23 21:54:51 浏览: 67
nginx正向代理https和非80端口配置文档.pdf
可以使用 nginx 的 upstream 模块来代理一个主机的不同端口。具体步骤如下:
1. 在 nginx 配置文件中定义 upstream,指定要代理的主机和不同的端口,如下所示:
```
upstream myapp {
server 127.0.0.1:8000;
server 127.0.0.1:8001;
server 127.0.0.1:8002;
}
```
2. 在 server 配置中,使用 proxy_pass 指令将请求转发给 upstream,如下所示:
```
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://myapp;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
```
这样,当客户端向 example.com 发送请求时,nginx 会将请求转发给 upstream 中的服务器,根据负载均衡算法选择其中一个服务器来处理请求,并将响应返回给客户端。
阅读全文