WSL2의 포트를 개방하고 Window PC의 외부에서 접근하는 방법에 대해 설명합니다.
WSL2에 포트 포워딩하는 방법
Window PC 방화벽 설정
- WindowPC 내 WSL2에서 Nginx를 설치하고 WindowPC의 80포트로 접근해도 Nginx 화면이 뜨지 않아서 웹 앱을 사내망에서 테스트로 배포해볼 수 없는 상황이 생겨 이것저것 찾아봤고 까먹을 것 같아 기록으로 남기기로 결정했다.
- 웃긴 것은 WindowPC에서 localhost:80으로 접근하면 WSL2 내부의 Nginx로 접근이 가능하다.
- 아 그래서 뭔가 도커 컨테이너처럼 호스트 PC의 포트를 공유하나보다 라고 생각했고, 다른 PC에서 WSL2가 동작중인 PC의 IP로 접근을 시도했는데, 좀처럼 되지 않았다.
- 나는 그래서 의문에 빠졌고,,, 여러 가지를 찾다가 총 세 가지의 설정이 필요하다는 것을 알았다.
I. 방화벽 OFF
- 먼저 WindowPC의 방화벽을 해제해 주어야 한다.

- Window 11 기준으로 설정 페이지에서 방화벽에 접근할 수 있다.
("네트워크 및 인터넷" -> "Window 방화벽")
- 여기서 공용 네트워크 방화벽을 끈다.
- 일단 이게 활성화되어 있으면, 외부에서 내 PC에 접근조차 되지 않는다.
- 이제 접속을 테스트하는 외부 PC에서 현재 PC로 Ping을 날려본다.
- 만약 안된다면,,, 개인 네트워크나 도메인 네트워크의 방화벽도 꺼야할 수 있다.
II. 포트 개방
- 일반적인 서버와 마찬가지로 포트 개방을 해주어야 한다.

- 아까의 설정 페이지에서 "고급 설정"을 누르면 위의 사진과 같이 규칙 설정으로 넘어간다.
- 여기서 "인바운드 규칙"을 누르고 새 규칙을 등록한다.





- 위의 사진처럼 순서대로 설정을 하면 된다.
- 포트에는 개방할 포트 번호를 입력해주자.
- 나는 80포트를 열고 Nginx에서 리버스 프록시를 걸어줄 것이기 때문에 80포트로 설정했다.
- 자 이제 될 것 같은가???
- 정답은 아니다..
Window PC 포트 포워딩 설정
- 나는 WSL2가 호스트 PC의 포트를 같이 사용하는 줄 알고, 위 설정만 했는데도 안되는 상황을 이해하지 못했다.
- 그러다가 혹시 포트 포워딩을 해줘야 하나?? 하고 찾았는데 실제로 그런 설정이 존재했다..
- 아래의 게시글을 참고했다.
https://slow-but-properly.tistory.com/38
[배움기록] WSL 포트포워딩 환경 설정하기!
2대의 컴퓨터를 활용하여 API요청하는 환경을 만들어보았다.한 대는 FAST API를 통해 백엔드 서버로 사용. GPU 가속 때문에 WSL 사용.다른 한 대는 플러터를 활용해서 API를 요청.그림으로 그린다면 이
slow-but-properly.tistory.com
- 명령어는 다음과 같다.
# WSL 포워딩 하기
netsh interface portproxy add v4tov4 listenport={host port} listenaddress={host IP} connectport={target port} connectaddress={target IP}
# 확인하기
netsh interface portproxy show all
# 설정 지우기
netsh interface portproxy delete v4tov4 listenport={host port} listenaddress={host port}
- 위의 명령어를 이용해서 host의 포트를 target 포트로 매핑을 해주면 완료이다.
- 이제 WSL2에서 동작중인 Nginx까지 요청이 넘어가는 것을 알 수 있다.
요즘 자꾸 인프라 관련으로 게시글을 포스팅하게 되는 것 같다. 원래도 인프라 쪽에 관심이 많았었는데, 요즘은 이렇게 배포하고 뭐 설정하는 것들이 재밌다.
'개발' 카테고리의 다른 글
| Github Action으로 웹 앱 자동 배포하기 (with SSH 명령어) (0) | 2025.10.09 |
|---|---|
| Ubuntu에 도커 (Docker) 및 도커 컴포즈 (Docker-Compose) 설치 방법 (2) | 2025.09.03 |
| [Gerrit] 게릿의 Replication 플러그인을 통해 Github에 사본 유지하기 (8) | 2025.07.23 |
| [Gerrit] 게릿 설치 및 적용: 나만의 깃, 코드 리뷰 시스템 구축하기 (5) | 2025.07.23 |
| Effective C++ 항목 26: 변수 정의는 늦출 수 있는 데까지 늦추는 근성을 발휘하자. (1) | 2025.06.29 |