要将端口范围 8000 到 9000 的所有请求转发到某个 IP(假设为 192.168.1.100)的相同端口,可以使用 stream 模块来配置 Nginx。这种批量转发需要单独定义每个端口的转发规则,可以通过脚本生成配置文件来简化操作。以下是一个示例:

  1. 确保 Nginx 的 stream 模块已启用。在 Nginx 的配置文件中添加以下内容(通常位于 /etc/nginx/nginx.conf):
nginx
复制代码
stream {
    include /etc/nginx/streams/*;
}
  1. 创建一个脚本来生成转发配置:
sh
复制代码
for port in $(seq 8000 9000); do
    cat <<EOF > /etc/nginx/streams/$port.conf
server {
    listen $port;
    proxy_pass 192.168.1.100:$port;
}
EOF
done
  1. 运行该脚本:
sh
复制代码
sudo bash generate_nginx_streams.sh

其中,generate_nginx_streams.sh 是包含上述脚本内容的文件。

  1. 检查 Nginx 配置是否正确:
sh
复制代码
sudo nginx -t
  1. 重新加载 Nginx 配置:
sh
复制代码
sudo systemctl reload nginx

这样,Nginx 就会将 8000 到 9000 端口的所有请求转发到指定 IP 的相应端口。