Synology NAS 에 리버스 프록시 적용 방법

Synology NAS 에 리버스 프록시 적용 방법

Overview

Synology NAS 를 운영하다 보면 하나의 서버에 여러 가지 서비스를 운영해야 할 때가 있다. 클라이언트가 서비스에 접근할 수 있는 방법에는 여러 가지가 있는데, 가장 단순한 방법은 각각의 서비스에 접근할 때마다 https://example.com:8888 와 같이 포트 번호를 입력하는 것이다. 이러한 방법을 사용하면 사용자가 각 서비스에 할당된 포트 번호를 외우거나 기록해야하니 매우 불편하다.

또 다른 방법은 리버스 프록시를 이용하여 사용자가 서브 도메인에 접속하면 지정된 포트 번호로 리다이렉트 되도록 설정하는 것이다. 예를 들어 https://gitea.example.com 서브 도메인에 접속 시 https://example.com:8888 로 리다이렉트 되도록 설정하면 포트 번호를 외울 필요 없이 gitea 라는 서비스 이름만 외우면 되니 직관적이고 기억하기 쉽다.

리버스 프록시(Reverse Proxy) 란

리버스 프록시 설정 방법을 설명하기에 앞서, 포워드 프록시와 리버스 프록시에 대해 간략하게 설명하겠다.

포워드 프록시(Forward Proxy) 는 일반적인 상황에서 프록시 서버라 부르는 방식이다. 포워드 프록시는 클라이언트의 통신을 대신 서버로 전달하여 클라이언트 정보를 숨기는 역할을 한다.

포워드 프록시 예시

포워드 프록시를 사용하면 다음과 같은 효과를 누릴 수 있다.

  • 보안
  • 캐싱
  • 암호화

리버스 프록시는 포워드 프록시와는 달리 서버 측에서 운영하는 프록시다. 리버스 프록시는 클라이언트의 요청을 대신 받은 후, 내부망의 실제 요청이 전달되어야 할 웹 서버로 대신 전달한다.

리버스 프록시 예시

리버스 프록시를 사용하면 다음과 같은 효과를 누릴 수 있다.

  • 로드 밸런싱
  • 보안
  • 캐싱
  • SSL Offloading

리버스 프록시 설정

Synology NAS 에 리버스 프록시를 설정하기 위해 브라우저로 DSM 에 접속한 후, 제어판 을 실행, 로그인 포털을 선택한다.

제어판

로그인 포털고급 탭을 선택하면 역방향 프록시, 액세스 제어 프로파일 버튼이 보인다. 역방향 프록시 버튼을 클릭한다.

로그인 포털

생성 버튼을 클릭하면 새로운 역방향 프록시 규칙을 생성할 수 있다.

역방향 프록시

적절하게 역방향 프록시 규칙 정보를 입력한다. 입력 후 저장 버튼을 클릭하면 설정이 저장된다.

  • 역방향 프록시 이름 : 규칙 이름.
  • 소스 : 클라이언트가 접속 시 사용할 정보.
    • 프로토콜 : 사용할 프로토콜. HTTP 또는 HTTPS.
    • 호스트 이름 : 클라이언트가 접속에 사용할 서브 도메인 이름.
    • 포트 : 클라이언트가 접속할 포트 번호. 필자는 외부에 노출할 모든 서비스를 HTTPS 기본 포트인 443으로 통일했다.
    • HSTS 활성화 : 활성화 시 HTTP 프로토콜을 HTTPS로 강제.
    • 액세스 제어 프로파일 : IP, 등의 조건으로 클라이언트 접속 제어하는 프로파일 설정.
  • 대상 : 역방향 프록시가 전달할 내부망 웹서버의 정보.
    • 프로토콜 : 사용할 프로토콜. HTTP 또는 HTTPS. 필자는 내부망에서 gitea 를 HTTP 로 접속하도록 운영 중.
    • 호스트 이름 : 내부망 웹서버의 도메인.
    • 포트 : 내부망 웹서버의 포트 번호. 필자는 Synology NAS(localhost) 의 3000번 포트에서 gitea 을 운영 중.
역방향 프록시 규칙

적절하게 설정 후, 설정을 저장하면 적용된 것을 확인할 수 있다.

리버스 프록시 적용 후 서비스 접속 화면

참고로 외부망에서 HTTPS 를 이용해 접속하기 위해서는 인증서에 리버스 프록시의 서브 도메인을 등록해야 한다. 또한 위 설정에서는 443번 포트를 통해 클라이언트가 접속할 수 있도록 설정했으므로, 당연히 공유기에서는 443번 포트 접속 시 Synology NAS 로 포트 포워딩되도록 설정해야 한다.