회사에서 테스트용으로 간단하게 jquery로 페이지를 만들어 놓은 것이 있었는데, cors설정 이후에도 cors오류가 나타났는데, 뒷부분 메세지가 기존에 내가 자주 보던 것과 달랐다. `local`이라는 키워드가 눈에 띈다.
The request client is not a secure context and the resource is in more-private address space `local`.
메세지를 얼추 확인해보면 적어도 private address 이상이여야 하는데 local로 요청한다는 그런 식이고, private address는 사설 ip를 의미하겠고, local은 말그대로 127.0.0.1을 의미하는 것일텐데.. 일단 검색을 해보자.
구글링해보니 대부분 https를 이용하거나 크롬의 설정을 통해 보안단계를 낮추는 방향으로 해결하였는데, 이건 근본적인 해결방법이 아니다. 물론 실제 배포시에 https를 사용하긴 하겠지만 그걸 떠나서 만약 http를 사용하게 되는 지금과 같은 상황이 있을 수 있고, 접속하는 모두에게 크롬 설정을 disabled로 변경해달라고 하기엔 무리인 것 같다.
그럼 어떻게 해결해야 할까?
해결방법
구글링해도 다 똑같은 대답이 나오길래 답답했는데, 메세지에서 힌트를 얻어서 해결했다.
클라이언트에서 서버로 호출할 때 localhost:8080/api ~~ 이렇게 입력되어있었다. 로컬에서 테스트하듯 같은 서버 안에서 똑같이 테스트하는 것처럼 호출을 하기에 생각하지 못했던 부분인데, 호출할 때 사설 ip주소 그대로 입력해주었더니 해결되었다.
'개발 > http, server' 카테고리의 다른 글
[http] 405 (Not Allowed) 해결.. (0) | 2023.11.28 |
---|---|
[AWS | Lambda] 파일을 못찾는 에러 Cannot find module 'index' (0) | 2023.11.01 |
[MYSQL] workbench에서 private subnet에 있는 RDS 접근 방법 (0) | 2023.10.28 |
[AWS] 도대체 클라이언트는 어떻게 private subnet에 있는 api와 통신할 수 있는가.. (해결) (0) | 2023.10.26 |
[AWS]The AWS Access Key Id you provided does not exist in our records. (0) | 2023.10.18 |