Nginx如何实现端口转发
时间: 2023-07-18 17:15:22 浏览: 196
nginx实现请求转发
在Nginx中实现端口转发,需要使用“stream”模块。以下是一个简单的示例配置:
```
stream {
upstream backend {
server 192.168.1.1:8080;
server 192.168.1.2:8080;
}
server {
listen 1234;
proxy_pass backend;
}
}
```
在上面的配置中,“stream”模块定义了一个“backend”的upstream,其中包含了两个后端服务器的地址和端口。然后,在“server”模块中定义了一个监听1234端口的转发服务,并通过“proxy_pass”指令将所有传入的连接转发到后端服务器上。需要注意的是,在stream模块中,不支持HTTP请求头信息的修改。
如果需要实现多端口转发,可以通过增加多个server模块来实现,例如:
```
stream {
upstream backend1 {
server 192.168.1.1:8080;
server 192.168.1.2:8080;
}
upstream backend2 {
server 192.168.1.1:8081;
server 192.168.1.2:8081;
}
server {
listen 1234;
proxy_pass backend1;
}
server {
listen 5678;
proxy_pass backend2;
}
}
```
在上面的配置中,定义了两个upstream,分别对应了两个后端服务器的不同端口,然后在stream模块中定义了两个server模块,分别监听了1234和5678端口,并将请求转发到不同的upstream上。
阅读全文