WebRTC 시그널링 서버를 배포하기 위해 네이버 클라우드 서비스를 사용해보았다.
하지만 서버의 public IP로 핑도 안나가고, 클라이언트에서 연결도 안되는 문제가 발생했는데, 해결한 과정을 간단하게나마 기록해보려고 한다.
우선 아래처럼 서버로 핑을 날려보아도 응답이 오지 않았고, ip를 잘못 입력했나싶어 이것저것 바꾸어보았지만 전부 실패했다.
천천히 생각해보기
그리고 처음으로 돌아가보기로 생각했고, 서버에 핑은 나가지만 타임아웃이라는건데 왜 응답을 주지 않지? 방화벽에 막히는게 아닐까? 라는 생각이 들었다.
그래서 네이버 클라우드 문서를 찾아보며 구조를 이해해보았다.
그리고 아래 그림과 같이서브넷의 접근을 관리하는 NACL
과 서브넷 내에 있는 서버에 접근을 관리하는 ACG
가 존재한다는 걸 알게 되었다.
NACL 인바운드 규칙 확인
그래서 네이버 클라우드 콘솔을 통해 NACL
과 ACG
의 인바운드 규칙을 확인해보기로 했다.
먼저 NACL
을 확인해보았는데, 별도의 인바운드 규칙이 없는걸 보니 여기까지는 허용되는 듯 했다.
ACG 인바운드 규칙 확인
그리고 대망의 ACG
아니나 다를까 인바운드 규칙에 8080 포트와 ICMP가 존재하지 않았다.
ICMP를 막고 있었기 때문에 핑이 나가지 않았던 것이고, 8080포트가 막혀있어 클라이언트에서 8080포트로 연결이 불가능했던 것이다.
그래서 아래와 같이 인바운드 규칙을 추가해주어 문제를 해결할 수 있었다.
'iOS' 카테고리의 다른 글
nohup 명령어를 사용해도 서버가 꺼지는 문제 (2) | 2024.11.08 |
---|---|
Tuist 없이 모듈 만들기 with DemoApp (0) | 2024.11.07 |
Swift Concurrency - Sendable (2) | 2024.10.25 |
Swift Concurrency - Task (1) | 2024.10.24 |
Swift Task 내에서 weak self를 붙여야 하는가 (4) | 2024.10.20 |