Nginx 反向代理与负载均衡测试工具
·
Nginx 反向代理与负载均衡测试工具
项目简介
这是一个轻量级的 Spring Boot 测试项目,专门用于验证 Nginx 的反向代理、负载均衡和请求转发功能。项目提供 5 个简单的 HTTP 接口,返回请求路径、服务端口和当前时间,方便直观地观察请求分发情况。
项目结构
nginx-test-demo/
├── pom.xml
└── src/main/
├── java/com/test/nginx/
│ ├── NginxTestApplication.java
│ └── TestController.java
└── resources/
└── application.yml
快速开始
1. 启动服务
# 打包
mvn clean package -DskipTests
# 启动默认端口(8080)
mvn spring-boot:run
# 或启动 jar 包
java -jar target/nginx-test-demo-1.0.0.jar
2. 多实例启动(用于负载均衡测试)
# 启动第二个实例(端口8081)
mvn spring-boot:run -Dspring-boot.run.arguments=--server.port=8081
# 启动第三个实例(端口8082)
java -jar target/nginx-test-demo-1.0.0.jar --server.port=8082
3. 接口测试
访问任意实例的接口,例如:http://127.0.0.1:8080/api/test3
返回结果:
{
"requestPath": "/api/test3",
"serverPort": "8080",
"currentTime": "2026-06-20 15:30:22.124"
}
Nginx 配置示例
反向代理配置
server {
listen 80;
server_name localhost;
location /api/ {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
负载均衡配置
upstream test_server {
server 127.0.0.1:8080;
server 127.0.0.1:8081;
}
server {
listen 80;
server_name localhost;
location /api/ {
proxy_pass http://test_server;
}
}
项目特点
- 轻量简洁:无业务逻辑,仅用于接口测试
- 多实例支持:可同时启动多个实例,测试负载均衡
- 结果直观:返回结构化 JSON,方便区分不同端口的响应
- 易于使用:标准 GET 接口,curl、浏览器均可直接调用
适用场景
- 验证 Nginx 反向代理配置是否生效
- 测试负载均衡策略(轮询、权重等)
- 检查请求转发和 header 传递
- 调试 Nginx rewrite 规则
项目源码已上传至 GitHub,欢迎 Star!
gitee地址: https://gitee.com/rumeng/nginx-test-demo
更多推荐



所有评论(0)