요청의 Origin이 Null이라 CORS가 뜨는 문제
상황
-
배포 상황
- spring boot 서버, thymeleaf 웹페이지
- docker 배포
- nginx proxy manager로 포트포워딩 중
-
문제
- form을 통해서 POST request를 날림
- 근데 origin이 null이 되어있어서 CORS에 걸려서 403
2026-03-02T03:44:25.296Z DEBUG 1 --- [main-server] [ctor-http-nio-3] o.s.w.s.adapter.HttpWebHandlerAdapter : [93781ce9-35] HTTP POST "/admin/scenarios/generate" 2026-03-02T03:44:25.297Z DEBUG 1 --- [main-server] [ctor-http-nio-3] o.s.w.c.reactive.DefaultCorsProcessor : Reject: 'null' origin is not allowed 2026-03-02T03:44:25.298Z DEBUG 1 --- [main-server] [ctor-http-nio-3] o.s.w.s.adapter.HttpWebHandlerAdapter : [93781ce9-35] Completed 403 FORBIDDEN- 응답에
referrer-policy: no-referrer가 있음- no-referrer로 되어있어서 브라우저가 요청을 보낼때 origin 정보를 보내지 않음
해결
- nginx proxy manager에서 add header 설정해야함
- 근데 이렇게 global하게 설정하면 각 location의 설정에 따라 덮어씌워짐
- nginx의 상속 매커니즘: location 블록에 add header이 하나라도 있으면 블럭 밖의 설정은 다 무시됨

- nginx의 상속 매커니즘: location 블록에 add header이 하나라도 있으면 블럭 밖의 설정은 다 무시됨
- 아래와 같이 location에 직접 설정을 입력
