Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
resolved #414
변경 사항
stun/turn 서버를 위한 coturn-server 설정 모두 삭제
고민과 해결 과정
nginx의 리버스 프록시를 제대로 활용해보고자
coturn-server
로 프록시 하는 코드를 추가했었다. 하지만 tcp, http 기반의 nginx가 udp 기반의 stun을 처리하기엔 적합하지 않다.Important
STUN
STUN은 P2P 통신을 지원하기 위한 프로토콜로, NAT에서 할당된 공인 IP 주소, 포트 등을 확인하는 데 사용된다.
STUN은 UDP (3478) 를 기반으로 동작한다. 클라이언트가 STUN 서버에게 Binding Request를 보내고, 서버는 Binding Response를 반환한다. 이를 통해 클라이언트는 자신의 NAT 주소를 알 수 있다.
coturn을 도커 컨테이너로 띄울까, 아니면 호스트 서버에 바로 띄울까 고민하다가 nginx에서 프록시 할 수 없기 때문에 그냥 호스트 서버에 설치하기로 결정했다.
호스트 서버에 구축하기
VPC 퍼블릭 서브넷, 서버 ACG 설정에 다음 포트들 인바운드 / 아웃바운드 허용하기
/etc/defulat/coturn
수정 :TURN_SERVER_ENABLED=1
/etc/turnserver.conf
작성 & turn 서버 재시작 : coturn을 turn 서버로 사용하기 위한 설정 파일 작성/etc/turnserver.conf 파일 참고하여 작성
(선택) 테스트 결과
Trickle ICE 사이트에서 STUN/TURN 테스트가 가능하다.
{"iceServers":[{"urls":["stun:"[public_ip]:3478"],"username":"","credential":""}],"iceTransportPolicy":"all"}
{"iceServers":[{"urls":["turn:[public_ip]:3478"],"username":"[turn_server_user]","credential":"[turn_server_password]"}],"iceTransportPolicy":"all"}