[iOS] App Transport Security policy 도메인으로 통신 안 될 때 (iOS/RN 개발 중 도메인 연결 후 통신 안 될 때)

Aubri·2023년 5월 30일
0

Aubri on ReactNative

목록 보기
4/5
post-thumbnail

EC2 Domain 연결 후, 앱에서 통신 보낼 때 주의할 점

ec2 instance 에 node.js server app 을 배포한 뒤에,

해당 인스턴스의 ip address 로 리퀘스트를 보내면 잘 응답이 왔지만,
ip와 연결한 도메인으로 리퀘스트를 보내면 응답이 안 오는 문제가 있었다.

그래서 React Native Debugger도 깔고 별 짓을 다 해봤다..
근데 웃긴 게 디버거에서 enable network inspection을 하면
통신이 보내지는겈ㅋㅋㅋㅋㅋㅋㅋㅋㅋ

네트워크 에러를 콘솔을 활용해(디버거) 뜯어본 결과 이런 에러가!!!!

the resource could not be loaded because the app transport security policy requires

두둥 탁

애플의 ATS 폴리시 때문에 http 통신이 막히고 있었던 것..
(아마 디버거로 됐던 이유는 중간에.. 음 클라이언트가 변경되었던지 뭐 그런게 아닐까. https 머시기가 중간에 개입했다던가? 모르겠다!)

해결법은
Info.plist를 수정해주면 된다.

원래는 밑에 로컬호스트만 들어가있을 것이다. 여기서 상단에 내가 연결한 도메인을 넣으면 된다!
주의할점!!! xcode에서 추가하면 string으로 들어갈건데 스트링이 아니라, boolean 으로 추가해서 yes해야한다!!!

그런데 솔직히 ip address로는 왜 되는지..
지피티한테 물어봤더니, ATS가 ip address가 아닌 도메인 이름 기준으로 적용되기 때문이라고 한다! 그래서 그럼 네트워크 인에이블했을 때 됐던건가?
그때 인스펙터로 봤더니 밑에 ip 주소가 떴었다.

근데! 그냥 인스턴스와 서버에 https 적용하면 끝이다!

끝! 휴~

profile
Delivering Happiness.

0개의 댓글