# cloud-platform-eureka **Repository Path**: chenqian1995/cloud-platform-eureka ## Basic Information - **Project Name**: cloud-platform-eureka - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-18 - **Last Updated**: 2026-05-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Eureka Auth Server 基于 Spring Boot 1.5.6 + Eureka + Spring Security 的带认证 Eureka Server ## 环境要求 - JDK 1.8 - Maven 3.x ## 快速开始 ### 1. 构建项目 ```bash cd eureka-auth-server mvn clean package -DskipTests ``` ### 2. 运行服务 ```bash java -jar target/eureka-auth-server-1.0.0.jar ``` 或者使用 Maven: ```bash mvn spring-boot:run ``` ### 3. 访问 Dashboard - **URL**: http://localhost:8761/ - **用户名**: admin - **密码**: admin123 ## 配置说明 ### 修改用户名密码 编辑 `src/main/resources/application.yml`: ```yaml eureka: dashboard: username: your_username password: your_password ``` ### 环境变量覆盖 也可以通过环境变量覆盖: ```bash export EUREKA_DASHBOARD_USERNAME=myuser export EUREKA_DASHBOARD_PASSWORD=mypassword java -jar target/eureka-auth-server-1.0.0.jar ``` ## 运行测试 ```bash mvn test ``` ### 测试覆盖 | 测试项 | 描述 | |--------|------| | `testDashboardWithoutAuth` | 未认证访问应被拒绝 | | `testDashboardWithAuth` | 正确凭据可访问 Dashboard | | `testDashboardWithWrongPassword` | 错误密码应被拒绝 | | `testEurekaClientEndpoint` | Eureka 客户端接口允许访问 | | `testHealthEndpoint` | 健康检查端点允许访问 | ## 客户端注册配置 其他服务注册到此 Eureka Server 时,需要在 `application.yml` 中配置: ```yaml eureka: client: service-url: defaultZone: http://admin:admin123@localhost:8761/eureka/ ``` ## 技术栈 - Spring Boot: 1.5.6.RELEASE - Spring Cloud: Dalston.SR2 - Spring Security: 4.2.x - JDK: 1.8 ## 注意事项 1. **CSRF 配置**: 已针对 Eureka 做了 CSRF 豁免,确保客户端注册正常 2. **生产环境**: 建议开启自我保护模式 (`enable-self-preservation: true`) 3. **密码加密**: 生产环境建议使用加密密码(可配合 Jasypt) ## 常见问题 ### Q: 客户端注册失败? A: 检查客户端配置中的用户名密码是否正确,确保 URL 格式为 `http://user:pass@host:port/eureka/` ### Q: Dashboard 显示 401? A: 这是正常的,需要使用浏览器输入用户名密码进行 Basic 认证 ### Q: 如何修改端口? A: 修改 `application.yml` 中的 `server.port`