# nginx-test-demo **Repository Path**: rumeng/nginx-test-demo ## Basic Information - **Project Name**: nginx-test-demo - **Description**: 这是一个轻量级的 Spring Boot 测试项目,专门用于验证 Nginx 的反向代理、负载均衡和请求转发功能。项目提供 5 个简单的 HTTP 接口,返回请求路径、服务端口和当前时间,方便直观地观察请求分发情况。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-20 - **Last Updated**: 2026-06-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 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. 启动服务 ```bash # 打包 mvn clean package -DskipTests # 启动默认端口(8080) mvn spring-boot:run # 或启动 jar 包 java -jar target/nginx-test-demo-1.0.0.jar ``` ### 2. 多实例启动(用于负载均衡测试) ```bash # 启动第二个实例(端口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` 返回结果: ```json { "requestPath": "/api/test3", "serverPort": "8080", "currentTime": "2026-06-20 15:30:22.124" } ``` ## Nginx 配置示例 ### 反向代理配置 ```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; } } ``` ### 负载均衡配置 ```nginx 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 规则 ---