회사에 이직한 첫날, 신규 입사자 가이드에 따라 개발 환경을 세팅하다가 예상치 못한 에러를 만났다. 바로 ERR_UNSAFE_PORT.
지금 다니는 회사는 보안을 위해 내부망을 사용한다. 내부망 특성상 특정 포트로만 접속해야 했는데, 하필이면 그 포트가 크롬에서 "안전하지 않은 포트"로 분류되어 있었다. 다시 이 에러를 만났을 때 당황하지 않고 해결할 수 있도록, 경험을 정리해본다.
문제
크롬에서 특정 포트(예: 6000, 6666 등)로 접속 시 아래와 같은 에러 메시지가 뜬다.
www.naver.com:6000으로 접속하면 아래 이미지처럼 ERR_UNSAFE_PORT를 볼 수 있다.

원인
해커들이 알려진 포트를 통해 공격을 시도할 수 있기 때문에 크롬 개발자들이 위험하다고 판단한 포트 리스트가 내장되어 있다.
크롬에서 차단하는 대표적인 포트들
| Port Number | Service Name |
| 1 | tcpmux |
| 7 | echo |
| 9 | discard |
| 11 | systat |
| 13 | daytime |
| 15 | netstat |
| 17 | qotd |
| 19 | chargen |
| 20 | ftp data |
| 21 | ftp access |
| 22 | ssh |
| 23 | telnet |
| 25 | smtp |
| 37 | time |
| 42 | name |
| 43 | nicname |
| 53 | domain |
| 77 | priv-rjs |
| 79 | finger |
| 87 | ttylink |
| 95 | supdup |
| 101 | hostriame |
| 102 | iso-tsap |
| 103 | gppitnp |
| 104 | acr-nema |
| 109 | pop2 |
| 110 | pop3 |
| 111 | sunrpc |
| 113 | auth |
| 115 | sftp |
| 117 | uucp-path |
| 119 | nntp |
| 123 | NTP |
| 135 | loc-srv /epmap |
| 139 | netbios |
| 143 | imap2 |
| 179 | BGP |
| 389 | ldap |
| 465 | smtp+ssl |
| 512 | print / exec |
| 513 | login |
| 514 | shell |
| 515 | printer |
| 526 | tempo |
| 530 | courier |
| 531 | chat |
| 532 | netnews |
| 540 | uucp |
| 556 | remotefs |
| 563 | nntp+ssl |
| 587 | stmp |
| 601 | ?? |
| 636 | ldap+ssl |
| 993 | ldap+ssl |
| 995 | pop3+ssl |
| 2049 | nfs |
| 3659 | apple-sasl / PasswordServer |
| 4045 | lockd |
| 6000 | X11 |
| 6665 | Alternate IRC [Apple addition] |
| 6666 | Alternate IRC [Apple addition] |
| 6667 | Standard IRC [Apple addition] |
| 6668 | Alternate IRC [Apple addition] |
| 6669 | Alternate IRC [Apple addition] |
해결 방법
크롬 실행 옵션을 통해 사용하려는 포트를 허용하도록 하면 된다.
크롬 실행 옵션에 포트 허용 추가 (Windows)
- 크롬 아이콘을 우클릭 → 속성 클릭.
- 대상 입력란 맨 뒤에 아래 옵션 추가. 여러 포트를 허용하려면 쉼표로 구분
- 크롬을 완전히 종료 후, 해당 바로가기로 실행
--explicitly-allowed-ports=포트번호
--explicitly-allowed-ports=6000,6666,5060
// 예시
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --explicitly-allowed-ports=6000
크롬 실행 옵션에 포트 허용 추가 (Mac)
- 터미널 실행.
- 아래 내용 입력
open /Applications/Google\ Chrome.app --args --explicitly-allowed-ports=포트번호
// 예시
open /Applications/Google\ Chrome.app --args --explicitly-allowed-ports=6000

크롬 옵션 설정 후 접속해보면 에러 메시지가 바뀐 것을 볼 수 있다.

참조
https://jazzy.id.au/2012/08/23/why_does_chrome_consider_some_ports_unsafe.html
all that jazz - Why does Chrome consider some ports unsafe?
james' blog about scala and all that jazz About Today in my Twitter feed I noticed a frustrated tweet from Dan North complaining about why Chrome seems to arbitrarily block connections to some ports, giving the confusing error code "net::ERR_UNSAFE_PORT".
jazzy.id.au