spring boot 设置只能本地访问
时间: 2024-11-29 16:36:38 浏览: 13
在Spring Boot应用中,如果你想要限制应用仅能本地访问,通常是通过配置服务器的安全策略来实现。这可以通过Spring Security框架来管理。以下是一个简单的步骤:
1. 添加Spring Security依赖:如果你的应用还没有集成Spring Security,需要添加对应的Maven或Gradle依赖。
Maven:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
```
Gradle:
```groovy
implementation 'org.springframework.boot:spring-boot-starter-security'
```
2. 配置`application.properties`或`application.yml`文件:禁用跨站请求(Cross-Site Request Forgery, CSRF)保护,并设置允许的IP范围或localhost。
```
server:
port: 8080 # 根据实际端口调整
security:
csrf:
enabled: false
access:
deniedUrl: /unauthorized # 自定义未授权页面路径
management:
endpoints:
web:
exposure:
include: '*' # 只有本机可以访问管理端点
authentication:
providers:
- disabled: true # 禁止所有认证方式,只允许来自特定IP的访问
anonymous:
enabled: true
enabledForHttp: true
alwaysAllow: true
roles: ['ROLE_USER'] # 设置匿名用户角色
allowed-origins: ["http://localhost", "127.0.0.1"]
```
3. 如果你需要更严格的控制,比如仅允许局域网内的访问,你可以使用`X-Forwarded-For`头信息,但请注意这可能会带来安全风险。
4. 测试应用并确认是否只有本地才能访问。
阅读全文