Synology DS audio 앱 로그인 오류 해결기: Cloudflare Proxied와 DNS only 차이

synology-dsaudio-cloudflare-dns-only-fix

들어가며

Synology NAS를 사용하면서 여러 서비스를 개인 도메인으로 연결해두면 꽤 편리합니다.

예를 들어 NAS에서 여러 서비스를 운영할 때 서비스별로 서브도메인을 나누어 사용할 수 있습니다.

  • note.example.com
  • photos.example.com
  • audio.example.com

이런 식으로 구성해두면 브라우저나 모바일 앱에서 긴 주소나 복잡한 포트 번호를 매번 입력하지 않아도 됩니다. 서비스별로 주소가 구분되기 때문에 관리하기도 편합니다.

그런데 이번에 Audio Station과 DS audio 앱을 사용하면서 조금 의외의 문제를 만났습니다.

브라우저에서는 Audio Station 화면이 정상적으로 열리는데, iPhone의 DS audio 앱에서는 로그인이 되지 않거나 음악 재생이 되지 않는 문제가 발생했습니다.

처음에는 Synology 사용자 권한 문제라고 생각했습니다. 하지만 하나씩 확인해보니 실제 원인은 Cloudflare의 Proxy 상태와 관련이 있었습니다.

이번 글에서는 Synology NAS, Audio Station, DS audio 앱, Cloudflare를 함께 사용할 때 겪은 로그인 오류와 해결 과정을 정리해보겠습니다.

처음 나타난 증상

처음에는 audio.example.com 주소로 Audio Station에 접속했습니다.

브라우저에서는 Audio Station 화면이 정상적으로 열렸고, 음악 목록도 잘 보였습니다.

그래서 처음에는 설정이 정상이라고 생각했습니다.

하지만 실제로 음악을 클릭하면 문제가 생겼습니다.

음악을 재생하려고 하면 갑자기 로그인이 풀리면서 다시 로그인 화면으로 돌아갔습니다.

또 iPhone의 DS audio 앱에서도 audio.example.com 또는 audio.example.com:443 주소로 로그인을 시도했을 때 다음과 비슷한 오류가 나왔습니다.

ds-audio-login-no-permission-error

이 서비스 이용 자격이 없습니다.

처음에는 이 문구 때문에 사용자 권한 문제라고 생각했습니다.

그래서 DSM에서 관련 권한을 하나씩 확인했습니다.

  • 사용자 계정의 Audio Station 권한
  • 그룹의 Audio Station 권한
  • 음악 폴더 접근 권한
  • Audio Station 내부 권한

하지만 계정과 그룹 모두 Audio Station 사용 권한이 허용되어 있었습니다.

관리자 계정으로도 같은 문제가 나타났기 때문에, 단순한 사용자 권한 문제는 아니라고 판단했습니다.

DSM 주소로 접속하니 정상 작동했다

문제를 확인하는 과정에서 DS audio 앱에 Audio Station 전용 주소가 아니라 DSM 접속 주소를 넣어봤습니다.

예를 들면 이런 방식입니다.

dsm.example.com:443

이 주소로 DS audio 앱에 로그인하니 정상적으로 로그인이 되었고, 음악도 잘 재생되었습니다.

이 결과로 알 수 있었던 것은 비교적 명확했습니다.

  • Audio Station 자체는 정상
  • DS audio 앱도 정상
  • 사용자 계정 권한도 정상
  • 음악 라이브러리도 정상

문제는 audio.example.com 경로로 접속할 때만 발생하고 있었습니다.

즉, NAS 내부 서비스나 계정 권한 문제가 아니라 audio.example.com 앞단에서 세션이나 스트리밍 요청에 영향을 주는 요소가 있을 가능성이 높았습니다.

Cloudflare Proxy 상태를 의심하게 된 이유

저는 개인 도메인을 Cloudflare에서 관리하고 있습니다.

Cloudflare DNS에는 각 서브도메인마다 Proxy status라는 항목이 있습니다.

대표적으로 아래 두 가지 상태가 있습니다.

  • Proxied
  • DNS only

Proxied는 주황색 구름 아이콘으로 표시됩니다. 이 상태에서는 웹 트래픽이 Cloudflare를 거쳐서 NAS로 전달됩니다.

DNS only는 회색 구름 아이콘으로 표시됩니다. 이 상태에서는 Cloudflare가 DNS 역할만 하고, 실제 접속은 NAS 쪽으로 직접 연결됩니다.

처음 audio.example.com은 Proxied 상태였습니다.

일반 웹사이트라면 Proxied 상태가 장점이 많습니다. Cloudflare의 보안 기능, SSL 처리, 캐시 기능 등을 활용할 수 있기 때문입니다.

하지만 Audio Station은 단순한 웹페이지와는 조금 다릅니다.

Audio Station에서는 다음과 같은 요청이 계속 오갑니다.

  • 로그인 세션
  • Audio Station API 요청
  • 음악 목록 요청
  • 음악 스트리밍 요청
  • 모바일 앱 로그인 요청

브라우저에서 목록은 보이는데 음악을 재생하는 순간 로그인이 풀리는 현상은, 재생 요청 단계에서 세션이나 인증 정보가 제대로 유지되지 않는 상황처럼 보였습니다.

그래서 audio.example.com만 Cloudflare Proxied에서 DNS only로 바꿔보기로 했습니다.

Cloudflare에서 audio 서브도메인을 DNS only로 변경하기

Cloudflare에 접속한 뒤 해당 도메인의 DNS Records 메뉴로 들어갔습니다.

그리고 Audio Station에 사용하는 audio 서브도메인 레코드를 찾았습니다.

기존 상태는 대략 아래와 같았습니다.

Type: A
Name: audio
Content: NAS가 연결된 공인 IP
Proxy status: Proxied

Proxy status를 Proxied에서 DNS only로 변경했습니다.

cloudflare-audio-dns-only-record

즉, 주황색 구름을 회색 구름으로 바꾼 것입니다.

이렇게 하면 Cloudflare가 audio.example.com에 대해서는 프록시 역할을 하지 않고, DNS 안내 역할만 하게 됩니다.

변경 후 결과

변경 후 1~2분 정도 기다린 뒤 다시 테스트했습니다.

먼저 브라우저에서 audio.example.com에 접속했습니다.

이번에는 음악 목록에서 음악을 클릭해도 로그인 화면으로 튕기지 않았습니다. 음악이 정상적으로 재생되었습니다.

그다음 iPhone의 DS audio 앱에서도 다시 테스트했습니다.

Synology NAS 주소에는 다음처럼 입력했습니다.

audio.example.com:443

HTTPS 옵션은 켠 상태로 두었습니다.

이번에는 DS audio 앱에서도 정상적으로 로그인되었고, 음악도 정상적으로 재생되었습니다.

결과적으로 문제의 원인은 Cloudflare의 Proxied 상태와 관련이 있었습니다.

조금 더 정확히 표현하면, Cloudflare 프록시 구간이 Audio Station의 로그인 세션 또는 음악 스트리밍 요청과 잘 맞지 않았던 것으로 보입니다.

왜 note와 photos는 되는데 audio만 문제가 생겼을까?

처음에는 이 부분이 가장 헷갈렸습니다.

Note Station이나 Synology Photos는 각각 note.example.com, photos.example.com 같은 서브도메인으로 앱 접속이 잘 되었습니다.

그래서 Audio Station도 audio.example.com으로 당연히 잘 될 것이라고 생각했습니다.

하지만 서비스마다 동작 방식이 다를 수 있습니다.

Note Station은 문서나 메모 중심의 서비스이고, Synology Photos는 사진 목록과 업로드 중심의 서비스입니다.

반면 Audio Station은 음악 재생과 스트리밍이 핵심입니다.

음악을 클릭하는 순간 단순한 페이지 이동이 아니라, 실제 음악 파일을 스트리밍하기 위한 요청이 발생합니다.

이 과정에서 로그인 세션, 인증 토큰, 스트리밍 요청이 계속 맞물리게 됩니다.

그래서 Cloudflare Proxied 상태에서는 다른 서비스는 괜찮아도 Audio Station이나 DS audio 앱에서만 문제가 생길 수 있다고 생각했습니다.

물론 모든 환경에서 반드시 같은 문제가 발생한다는 뜻은 아닙니다. DSM 버전, Audio Station 설정, Cloudflare 설정, 네트워크 구성에 따라 결과는 달라질 수 있습니다.

다만 제 환경에서는 audio 서브도메인을 DNS only로 변경한 뒤 문제가 해결되었습니다.

DS audio 앱에서 왜 :443을 붙였을까?

브라우저에서는 보통 아래처럼 입력해도 됩니다.

https://audio.example.com

HTTPS의 기본 포트가 443이기 때문입니다.

하지만 DS audio 앱에서는 audio.example.com:443처럼 포트 번호를 직접 붙여주는 것이 더 안정적이었습니다.

Synology 앱들은 NAS 접속을 기준으로 만들어진 경우가 많습니다.

DSM 기본 포트는 보통 다음과 같습니다.

  • HTTP: 5000
  • HTTPS: 5001

하지만 제 환경은 외부에서 443 포트 하나를 중심으로 서비스에 접속하는 구조였습니다.

그래서 DS audio 앱에는 다음처럼 명확하게 입력했습니다.

audio.example.com:443

이렇게 입력하면 앱에 “이 주소는 HTTPS 443 포트로 접속한다”는 점을 명확히 알려주는 셈입니다.

브라우저에서는 https://audio.example.com으로 접속하고, DS audio 앱에서는 audio.example.com:443으로 접속하는 방식이 가장 안정적이었습니다.

Cloudflare Proxied와 DNS only 차이

이번 문제를 이해하려면 Cloudflare의 Proxied와 DNS only 차이를 간단히 알고 있는 것이 좋습니다.

Cloudflare에서 도메인의 DNS 레코드를 보면 구름 모양 아이콘이 표시됩니다.

주황색 구름은 Proxied 상태이고, 회색 구름은 DNS only 상태입니다.

Proxied란?

Proxied는 사용자의 접속 요청이 Cloudflare를 먼저 거친 뒤, 다시 내 NAS나 서버로 전달되는 방식입니다.

흐름을 단순하게 보면 아래와 같습니다.

cloudflare-proxied-flow

즉, 사용자가 내 서버에 직접 접속하는 것이 아니라 Cloudflare가 중간에서 트래픽을 받아 전달해주는 구조입니다.

이 방식의 장점은 다음과 같습니다.

  • Cloudflare 보안 기능을 활용할 수 있음
  • DDoS 완화 기능을 사용할 수 있음
  • SSL/TLS 처리에 도움을 받을 수 있음
  • 일부 캐시 기능을 사용할 수 있음
  • 접속 통계를 확인하기 쉬움
  • 실제 서버 IP를 어느 정도 숨기는 데 도움이 됨

일반적인 WordPress 블로그나 웹사이트에서는 Proxied 상태가 꽤 유용할 수 있습니다.

예를 들어 블로그 글, 이미지, 정적 파일처럼 일반적인 웹 요청은 Cloudflare를 거치면서 보안이나 속도 측면에서 도움을 받을 수 있습니다.

하지만 모든 서비스가 Proxied 상태와 잘 맞는 것은 아닙니다.

Audio Station처럼 로그인 세션, 앱 API 요청, 스트리밍 요청이 계속 오가는 서비스는 Cloudflare 프록시 구간에서 예상과 다르게 동작할 수 있습니다.

브라우저에서는 화면이 열리지만, 앱 로그인이나 음악 재생 단계에서 문제가 생길 수 있는 이유도 이와 관련이 있을 수 있습니다.

DNS only란?

DNS only는 Cloudflare가 DNS 안내 역할만 하는 방식입니다.

흐름을 단순하게 보면 아래와 같습니다.

dns-only-direct-connection-flow

여기서 Cloudflare는 “이 도메인은 이 IP로 접속하면 된다”는 정보만 알려줍니다.

즉, 실제 웹 트래픽은 Cloudflare를 거치지 않고 내 NAS 또는 서버로 직접 연결됩니다.

DNS only 상태에서는 Cloudflare의 캐시, WAF, 일부 보안 기능, 프록시 기반 최적화 기능은 적용되지 않습니다.

대신 연결 구조가 더 단순해집니다.

그래서 일부 Synology 앱이나 스트리밍 서비스처럼 지속적인 인증 요청, 파일 전송, 미디어 재생이 필요한 서비스에서는 DNS only가 더 안정적으로 동작할 수 있습니다.

이번 DS audio 문제도 이 차이와 관련이 있었습니다.

Audio Station 화면은 브라우저에서 열렸지만, 음악 재생이나 DS audio 앱 로그인 과정에서 문제가 생겼고, audio 서브도메인을 DNS only로 변경한 뒤 정상적으로 작동했습니다.

Proxied와 DNS only를 어떻게 구분해서 쓰면 좋을까?

이번 경험을 기준으로 보면, 모든 서브도메인을 무조건 Proxied로 두기보다 서비스 성격에 따라 나누어 생각하는 것이 좋았습니다.

WordPress 블로그처럼 일반 웹사이트 성격이 강한 서비스는 Proxied 상태가 잘 맞을 수 있습니다.

반면 Audio Station, DS audio처럼 앱 연결이나 스트리밍이 중요한 서비스는 DNS only가 더 안정적일 수 있습니다.

정리하면 아래처럼 볼 수 있습니다.

  • WordPress 블로그
    → Proxied 사용 가능
  • 일반 웹페이지 서비스
    → Proxied 사용 가능하되 기능 테스트 필요
  • Audio Station / DS audio
    → DNS only가 더 안정적일 수 있음

Synology Photos / Note Station
→ 현재 정상이라면 Proxied 유지 가능
→ 다만 앱 접속, 업로드, 재생 문제가 생기면 DNS only 테스트 필요

DSM 관리 주소
→ 보안상 신중하게 별도 관리 필요

중요한 것은 브라우저 첫 화면이 열린다고 해서 모든 기능이 정상이라고 단정하지 않는 것입니다.

로그인, 목록 표시, 파일 열기, 음악 재생, 모바일 앱 접속까지 실제 사용 흐름을 하나씩 테스트해보는 것이 좋습니다.

최종 정리

이번 문제는 처음에는 Synology 권한 문제처럼 보였습니다.

DS audio 앱에서 “이 서비스 이용 자격이 없습니다”라는 메시지가 나왔기 때문입니다.

하지만 실제로는 권한 문제가 아니었습니다.

DSM 주소로 DS audio 앱에 접속하면 정상적으로 음악이 재생되었고, 사용자와 그룹 권한도 정상으로 확인되었습니다.

결국 audio 서브도메인을 Cloudflare Proxied에서 DNS only로 바꾸자 문제가 해결되었습니다.

최종적으로 사용한 방식은 다음과 같습니다.

  • 브라우저 접속
    https://audio.example.com
  • DS audio 앱 접속
    audio.example.com:443
    HTTPS 켬
  • Cloudflare DNS 설정
    audio 레코드: DNS only

이 설정 이후 브라우저에서도 음악이 정상 재생되었고, iPhone의 DS audio 앱에서도 로그인과 재생이 모두 정상 작동했습니다.

Synology NAS를 개인 도메인과 Cloudflare로 연결해 사용하는 경우, 브라우저 첫 화면이 열린다고 해서 모든 기능이 정상이라고 단정하면 안 된다는 것도 배웠습니다.

  • 로그인
  • 목록 표시
  • 파일 열기
  • 음악 재생
  • 모바일 앱 접속

이 과정을 실제로 하나씩 테스트해보는 것이 중요했습니다.

특히 Audio Station처럼 스트리밍이 포함된 서비스는 Cloudflare Proxied 상태보다 DNS only에서 더 잘 맞을 수 있습니다.

마무리

Synology NAS를 개인 도메인으로 연결해 사용하면 편리하지만, 서비스마다 동작 방식이 다르기 때문에 같은 Cloudflare 설정이 항상 동일하게 맞지는 않는 것 같습니다.

이번 DS audio 문제는 처음에는 권한 문제처럼 보였지만, 실제로는 Cloudflare Proxied와 Audio Station 스트리밍 요청이 잘 맞지 않아 생긴 문제였습니다.

저처럼 브라우저에서는 Audio Station이 열리는데 DS audio 앱에서 로그인 오류가 나거나 음악 재생이 되지 않는다면, 사용자 권한만 확인하지 말고 Cloudflare의 Proxy status도 함께 확인해보면 좋겠습니다.

특히 audio 서브도메인만 DNS only로 바꿔 테스트해보는 것은 비교적 간단한 확인 방법이 될 수 있습니다.

다만 NAS 환경, DSM 버전, Cloudflare 설정, 공유기 구성에 따라 결과는 달라질 수 있으므로 외부 접속 설정을 변경할 때는 필요한 서비스만 최소한으로 공개하는 것이 좋습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다