HTTP CORS 오류가 나서 해결했던 경험
— PROTOCOL, HTTP, 2022 — 1 min read
CORS? 교차 출처 리소스 공유
배경
Access to XMLHttpRequest at 'http://localhost:1323/applications' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
CORS가 뭐지?
CORS 정책 위반으로 인해 에러가 발생하는 상황
SOP(Same-Origin Policy)?
나의 개발 환경
- 로컬환경에서
- [프론트1] 에 [서비스1] 가 연결되어 실행된다.
- [프론트1] 에 추가적으로 [서비스2]를 연결한다.
port
- [프론트1] port 3000
- [서비스1] port 1000
- [서비스2] port 2000
해결
[서비스2] 코드에서 "http://localhost:3000"
을 허용한다는 코드를 추가한다.
e.Use(middleware.CORSWithConfig(middleware.CORSConfig{AllowOrigins: []string{"http://localhost:3000"},AllowMethods: []string{http.MethodGet, http.MethodPut, http.MethodPost, http.MethodDelete},}))