시놀로지 나스에서 역방향 프록시 설정하기: 개념부터 실전 구축까지
- Authors

- 이름
- 이융희
- Social
- [email protected]
시놀로지 나스(Synology NAS)를 어느 정도 제대로 활용하기 시작하면, 결국 이런 요구가 생깁니다.
- 나스에서 구축한 여러 서비스에 외부에서 접속
- 포트 번호 없이 깔끔한 URL로 접속
- 내부 서비스 구조를 외부에 노출하지 않으면서 개방
이때 거의 반드시 등장하는 개념이 바로 역방향 프록시(리버스 프록시, Reverse Proxy)입니다.
특히 시놀로지 DSM의 경우 GUI 기반 역방향 프록시 설정 기능을 제공하기 때문에, 별도의 Nginx 서버나 Traefik 설정 없이도 꽤 강력한 구성이 가능합니다.
역방향 프록시란 무엇이며 왜 필요할까?
프록시의 기본 개념
일반적인 프록시(Forward Proxy)는 이런 구조입니다.
사용자 → 프록시 서버 → 인터넷
예를 들어 다음과 같은 상황이 있을 수 있습니다:
- 회사에서 직원의 인터넷 접속 통제
- 학교에서 유해 사이트 차단
반면 역방향 프록시(Reverse Proxy)는 방향이 반대입니다.
사용자 → 역방향 프록시 → 내부 서버
즉, 외부 사용자는 실제 서비스 서버를 직접 보지 못하고, 항상 프록시 서버를 통해서만 접근하는 것입니다.
역방향 프록시의 핵심 역할
역방향 프록시는 단순한 "중계 서버"가 아닙니다. 실무적으로는 다음과 같은 역할들을 동시에 해냅니다.
| 기능 | 설명 |
|---|---|
| SSL 종료1 | HTTPS 인증서를 프록시에서 관리 |
| 포트 통합 | 443이나 원하는 포트 하나로 여러 서비스 제공 |
| 경로 분기 | /admin, /api 등으로 서비스 분기 |
| 보안 | 내부 IP/포트 은닉 |
| 로드밸런싱 | 여러 서버로 트래픽 분산 |
왜 시놀로지 나스에서 역방향 프록시를 쓸까?
일반적인 나스 운영 방식
실제 현장에서 많이 볼 수 있는 나스의 활용 구조는 이렇습니다.
- 나스 내부:
- 도커(Docker) 웹 서비스
- Git 서버
- 사내 그룹웨어
- 블로그
- 공유기에서 나스의 내부 아이피로 포트 포워딩:
- 5001 → DSM
- 3000 → 블로그
- 8080 → 내부 서비스
- 9000 → 그룹웨어
이 구조에는 다음과 같은 문제점들이 있습니다.
- 포트 관리가 굉장히 복잡해짐
- 악의적인 포트 스캐닝에 서비스 노출2
- URL이 지저분해짐
역방향 프록시를 도입한 후의 방식
역방향 프록시를 적용하면 아래와 같은 구조로 운용이 가능합니다.
사용자 →
https://service.company.com→ 나스 → 내부 서비스
포트는 일반적인 HTTPS 연결에 쓰이는 443번 포트 단 하나만 열어도 됩니다. 해당 포트 하나로 원하는 내부 서비스에 연결이 가능해집니다.
- blog.company.com → 회사 기술 블로그
- admin.company.com → 회사 내부 서비스 관리 툴
- dsm.company.com → 회사 나스 DSM
실전: DSM에서 역방향 프록시 설정하기
역방향 프록시를 설정하기 위해서는 먼저 DSM에 관리자 계정으로 접속한 다음, 제어판에 접속해야 합니다.

제어판의 메뉴를 클릭하면 로그인 포털이라는 메뉴가 보입니다.

로그인 포털 메뉴를 클릭한 뒤, 고급 탭으로 이동합니다.
그러면 역방향 프록시라는 항목과 버튼이 보일텐데, 이것을 눌러줍니다.
역방향 프록시 창의 [생성] 버튼을 누르면 새로운 역방향 프록시 규칙을 지정할 수 있게 됩니다.
일반 탭에는 다음과 같은 항목들이 있습니다.
| 구분 | 항목 | 설명 |
|---|---|---|
| 역방향 프록시 이름 | 관리용 식별 이름 (외부에 노출되지 않습니다) | |
| 소스 | 프로토콜 | HTTP(암호화 없음), HTTPS(암호화) 프로토콜 중 선택 |
| 소스 | 호스트 이름 | 외부에서 접속할 도메인 주소 |
| 소스 | 포트 | 외부에서 접속할 포트(HTTPS 기본 포트는 443) |
| 소스 | HSTS 활성화 | HTTPS 강제 적용(보안을 위해 활성화) |
| 대상 | 프로토콜 | 서비스에서 사용중인 프로토콜 |
| 대상 | 호스트 이름 | 서비스를 제공하는 주소(도메인 혹은 아이피, localhost 등) |
| 대상 | 포트 | 해당 서비스가 실제로 사용하는 포트 번호 |
NOTE
여기에서 소스 호스트 이름으로 사용하는 도메인 주소는 A Record 값이 나스의 외부 IP 주소로 향해있거나, CNAME 값을 나스에 연결된 도메인으로 연결해 두어야 합니다.
[제어판] - [보안] - [인증서] 탭에 해당 도메인을 포함하는 인증서가 존재해야 하며, 인증서 페이지의 [설정] 버튼을 눌러 해당 서비스에 연결되는 인증서가 올바르게 설정되었는지 확인해야 합니다.
만약,
- 외부 주소:
https://blog.company.com입력 시 - 내부 서비스:
http://192.168.0.10(나스 내부 아이피):3000에서 서비스중인 내부 서비스(블로그)로 연결
위와 같이 설정을 원한다면 다음과 같이 설정하면 됩니다.
| 항목 | 값 |
|---|---|
| 역방향 프록시 이름 | 회사 블로그 |
| 소스 프로토콜 | HTTPS |
| 소스 호스트 이름 | blog.company.com |
| 소스 포트 | 443 |
| 소스 HSTS 활성화 | ✅ |
| 대상 프로토콜 | HTTP |
| 대상 호스트 이름 | localhost |
| 대상 포트 | 3000 |
보안 및 문제 해결
역방향 프록시 기능을 사용해 내부 서비스를 외부에 노출하는 순간부터 온갖 공격의 표적이 됩니다. 수많은 해커들이 전세계의 IP를 스캐닝하며 먹잇감을 찾고 있으며, 요즘은 특히 AI를 활용한 자동화 공격 패턴도 고도화되는 추세이기 때문에 무작정 많은 서비스를 외부에 개방하는 건 지양해야 합니다.
우리가 이론적인 보안을 잘 구축해 두었더라도 사용하는 도커 기반 오픈소스 앱에 취약점이 생겨서 그것을 통해 나스가 공격당할 수도 있습니다. 따라서 최소 아래의 조치는 진행하는 것이 좋습니다.
- DSM 방화벽 설정
- (가능하다면)해당 서비스의 관리자 모드 2단계 인증
또한 만약 설정한 역방향 프록시 정보로 접속이 되지 않는다면 몇가지 확인을 해 보시면 대체로 답이 나옵니다.
- 방화벽 설정: NAS 자체 방화벽에서 해당 포트가 외부에 열려있는지, 국가 별 차단이나 화이트리스트 방식을 쓰고있는 건 아닌지 확인을 해 보세요.
- 인증서 할당: 앞서 말씀드린 인증서 메뉴에서 올바른 인증서가 할당되었는지 확인해 주세요.
- DNS 레코드: 도메인 관리 사이트에서 CNAME이나 A 레코드가 NAS의 IP를 잘 가리키고 있나요? 혹시 Cloudflare를 사용할 경우, 프록시(주황색 구름 모양 활성화) 모드에서는 80/443 등 일부 포트만 지원합니다. DSM이 다른 포트를 사용 중이면 DNS only 모드로 전환해야 정상 동작합니다.
웹소켓(WebSocket) 서비스 사용 시
Next.js, GitLab, Portainer 등 실시간 통신이 필요한 서비스는 역방향 프록시 설정 시 웹소켓 옵션을 활성화해야 합니다. 설정의 사용자 지정 머리글에서 [생성] - [WebSocket]을 눌러 저장해 주시면 웹소켓이 적용되어 실시간 통신이 가능해집니다.
마무리
역방향 프록시는 단순 기능이 아니라 나스 아키텍처의 외부 서비스 중심축입니다.
시놀로지 나스를 제대로 쓰고 싶다면, 역방향 프록시를 잘 활용하여 여러 서비스를 내/외부에서 자유롭게 쓸 수 있도록 안전하게 세팅해 보시는 걸 추천합니다.
저희는 많은 기업의 나스 인프라를 구축하며 쌓은 보안 공학적 노하우를 바탕으로, 단순 설정을 넘어 침입 탐지 및 가용성이 확보된 최적의 네트워크 아키텍처를 제공합니다.
직접 나스의 여러 설정을 하던 중 한계에 부딪히셨거나, 처음부터 완벽하게 보안이 강화된 환경을 구축하고 싶으시다면 지금 바로 전문가의 컨설팅을 받아보세요.