지난 포스팅에서 openmediavault에 nextcloud를 설치하는 부분까지 진행했죠. 이번 포스팅에서는 이전 포스팅에서 설치한 nginx proxy manager을 통해 도메인과 서브 도메인으로 리버스 프록시/가상 호스트를 적용시켜 볼까 합니다.
도커를 통해 nextcloud를 설치하고 공유기 내부 ip를 통해 접속하는 과정까지는 마무리되었지만 이제 외부와 접속하기 위한 도메인이 필요하죠. 하지만 도메인을 그대로 할당해주면 nextcloud나 다른 서비스 하나만 연결해줄 수 있습니다.
리버스 프록시를 적용하면 하나의 도메인으로 서브도메인을 생성하여 많은 서비스를 사용할 수 있어 편리하죠. 예를 들어 test.com이라는 도메인이 있으면 도메인 앞에 서브도메인을 추가해주는 방식으로 도메인을 나눠줄 수 있습니다. Ex) cloud.test.com/music.test.com
위와 같은 도메인으로 접속하면 같은 ip주소로 접속되는데 해당 ip주소에 있는 서버가 서브도메인을 판별해 각각의 컨테이너로 연결해주는 방식이죠.
그럼 지금부터 어떻게 리버스 프록시를 적용할 수 있는지 알아보도록 하죠.
(혹시 nginx proxy manager을 아직 설치하지 않으신 분들은 아래 포스팅을 참고해 설치해주세요.)
Omv에 Nginx proxy manager로 리버스 프록시 적용하기
먼저 리버스 프록시 적용을 위해 nginx proxy manager의 컨트롤 패널에 접속해 로그인해줍시다. 그런 뒤 메인 페이지에서 “Proxy hosts”를 눌러 주세요.
그러면 프록시 규칙을 추가해줄 수 있는 페이지가 나오는데 우측의 “Add Proxy host”를 눌러줍시다.
그러면 창이 하나 나타납니다. Domain name에는 자신이 연결시키고 싶은 도메인의 전체 주소를 적어 넣어주고 Scheme에는 연결 방식, Forward Hostname/IP에는 컨테이너의 내부 네트워크 주소 그리고 Forward Port에는 해당 컨테이너의 http 혹은 https 포트를 적어 넣어주면 됩니다.
이제 인증서를 추가해 SSL을 적용시켜줍시다.
다음 창의 상단 탭을 보면 SSL 탭이 보이는데 해당 탭으로 넘어간 뒤 SSL Certificate를 누르고 “Request a new SSL Certificate”를 눌러줍시다.
“Force SSL”/”HTTP/2 Support”/”HSTS Enabled”를 체크한 뒤 이메일 밑의 동의를 눌러준 뒤 “Save”를 눌러 규칙을 저장해줍시다.
그러면 Proxy host 페이지에 규칙이 추가된 것을 확인하실 수 있습니다.
이렇게 생성된 인증서는 Nginx proxy manager가 주기적으로 갱신해주니 만료일을 걱정하지 않으셔도 됩니다.
Nextcloud의 신뢰하지 않는 도메인 문제 해결하기
위의 과정을 마치고 해당 도메인으로 접속했을 때 위 사진과 같이 나타나는 분들이 있으실 겁니다. Nextcloud는 초기 설치 때 접속한 도메인을 신뢰하는 도메인으로 설정하는데 저희는 서버 ip로 직접 접속해 초기 설치를 진행했었죠?
그래서 아직 도메인을 통한 접속은 신뢰하지 않는 접속으로 판단하고 차단하고 있는 겁니다. 이 문제를 해결하기 위해서는 nextcloud의 config.php에 연결해준 도메인의 주소를 추가해줘야 합니다.
먼저 nextcloud 폴더의 접근 권한에 공유폴더 로그인 계정을 추가해줘야 합니다. openmediavault에서 공유 폴더 -> 원하는 폴더 선택 -> 접근 제어 목록을 클릭해줍니다.
그러면 폴더 권한 설정이 나타나는데 왼쪽 상단에서 원하는 경로를 선택한 뒤 우측에서 사용자 계정을 선택해주고 아래 “파일과 디렉터리에 권한을 적용”을 활성화시켜 주신 뒤 “적용”을 클릭하시면 해당 폴더의 계정에 모든 파일의 접근권한을 부여해줄 수 있습니다. 위 과정을 마치면 config.php 파일이 수정 가능해집니다.
지난번에 공유 폴더에 nextcloud폴더를 만들고 그 안에 config 폴더와 data 폴더를 만들어 줬었습니다.
거기서 config 폴더에 들어간 뒤 www -> nextcloud -> config 폴더 순으로 들어가 주면 config.php 파일을 찾을 수 있습니다.
메모장을 통해 config.php를 열고 중간에 ‘trusted_domains’ 부분 밑의 array에 주소를 추가해주면 됩니다. 저는 아래와 같은 내용으로 수정해줬습니다.(‘ , ’ 빼먹지 마시고요.)
'trusted_domains' =>
array (
0 => '192.168.1.50:5000',
1 => 'cloud.pomvtest.duckdns.org',
),
그다음 재접속해보면 정상적으로 연결되는 것을 확인하실 수 있습니다.
이렇게 오늘은 nextcloud에 리버스 프록시를 적용시켜보았습니다. 이 방법은 이후 설명드릴 대부분의 컨테이너에 적용 가능하니 적절히 사용해봅시다.
신뢰하지 않는 도메인 문제는 nextcloud를 제외하면 발생하지 않는 문제니 이후 설치할 컨테이너들에서는 신경 쓰지 않으셔도 됩니다.
다음 포스팅에서는 nextcloud에 외부 저장소를 추가하는 방법에 대해 알려드리려고 합니다.
그럼 이번 포스팅은 여기에서 마치도록 하고 다음에 다른 니용으로 다시 찾아뵙도록 하겠습니다.
긴 글 읽어 주셔서 감사합니다.
이 글의 저작권은 전적으로 작성자인 P_Emblem에게 있으며
허락 없는 사용을 금합니다.
'운영체제 > Nas[OMV]' 카테고리의 다른 글
OMV(OpenMediaVault) 나스 서버[16]Jellyfin(미디어 서버) 설치하는 방법 (5) | 2021.01.07 |
---|---|
OMV(OpenMediaVault) 나스 서버[15]워드프레스 설치하기 (2) | 2021.01.05 |
OMV(OpenMediaVault) 나스 서버[14]nextcloud 외부저장소 추가하는 방법 (0) | 2021.01.03 |
OMV(OpenMediaVault) 나스 서버[12]Nextcloud 설치하는 방법 (7) | 2020.12.30 |
OMV(OpenMediaVault) 나스 서버[11]nginx proxy manager 설치하는 방법 (8) | 2020.12.28 |
OMV(OpenMediaVault) 나스 서버[10]phpmyadmin 설치하는 방법 (2) | 2020.12.26 |