1. Redirect to HTTPS
- Spring Security에서 HTTP 요청을 자동으로 HTTPS로 리다이렉트시키는 설정
설정
더보기
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
http
// ...
.requiresChannel(channel -> channel
.anyRequest().requiresSecure()
);
return http.build();
}
2. Strict Transport Security
3. Proxy Server Configuration
- 프록시나 로드 밸런서를 사용하는 환경에서, 클라이언트의 실제 요청 정보를 올바르게 인식하도록 설정하는 방법
- ⚠️ 프록시릍 통해 요청이 전달되는 경우, 애플리케이션이 보는 연결 정보가 클라이언트 정보가 아닌 프록시 정보로 들어옴
X-Forwarded-* 헤더
- 일반 클라이언트도 임의로 수정할 수 있음
- 신뢰된 프록시에서 들어온 요청만 받도록 제한해야 함
| 헤더 | 의미 |
| X-Forwarded-For | 원래 클라이언트 IP |
| X-Forwarded-Proto | 사용자가 사용한 프로토콜인 HTTP 또는 HTTPS |
| X-Forwarded-Host | 사용자가 요청한 원래 Host |
| X-Forwarded-Port | 사용자가 요청한 원래 포트 |
| X-Forwarded-Prefix | 프록시가 추가하거나 제거한 경로 Prefix |
예시
더보기
X-Forwarded-For: 203.0.113.195
X-Forwarded-Proto: https
X-Forwarded-Host: example.com
설정
더보기
server.forward-headers-strategy: native|framework|none
- native: 내장 서버의 네이티브 지원 사용 (WAS의 네이티브 기능 사용)
- framework: Spring Framework 지원 사용 (Servlet의 ForwardedHeaderFilter를 추가함)
출처
'Spring > Spring Security' 카테고리의 다른 글
| [Spring Security] 4-1. Authorization: Architecture (0) | 2025.07.03 |
|---|---|
| [Spring Security] 5-4. 보안: HttpFirewall (0) | 2023.10.14 |
| [Spring Security] 5-2. 보안: Security HTTP Response Headers (3) | 2023.10.14 |
| [Spring Security] 5-1. 보안: CSRF (0) | 2023.10.06 |
| [Spring Security][KoLiving] 4-5. BlackList Token (0) | 2023.10.03 |