앞서 다양한 서비스들을 설치하고 설정하였습니다. 그런데 PLEX는 app.plex.tv 를 통해 접속할 수 있어 상관이 없다 해도, 다른 서비스들은 사용할 때 마다 IP와 포트 번호를 치고 들어가야 한다면 너무나 불편할 것입니다. 이를 해결하기 위해 리버스 프록시에 연결하도록 하겠습니다.
media.example.com 도메인에 transmission, jackett, sonarr, radarr 을 연결하도록 하겠습니다. 예를 들어 sonarr 는 https://media.example.com/sonarr 입니다.
도메인 레코드 설정
먼저 cloudflare 에서 A 레코드를 설정합니다.
외부망에서 접속하고자 한다면 ddns 에 media.example.com 을 등록해 주고, 내부망에서만 접속하고자 한다면 Nginx_WAF 감옥의 IP (필자의 경우는 192.168.1.10) 을 A레코드에 등록해 주세요.
물론, technitium dns 에 도메인을 등록하는 방법도 있습니다. 입맛대로 해 주세요.
Nginx 서버 블록 만들기
iocage console Nginx_WAF
레코드를 등록했다면 감옥에 로그인 해 줍니다.
vi /usr/local/etc/nginx/conf.d/media.conf
server { listen 443 ssl http2; server_name media.example.com; root /nonexistent; include options/*; access_log /var/log/nginx/media/access.log; # 로컬 네트워크만 허용하는 구문입니다. # 외부망에서의 접근을 하용하고 싶다면 아래 구문을 삭제하면 됩니다. allow 192.168.1.0/24; deny all; location /sonarr { proxy_pass http://192.168.1.11:8989/sonarr; include otherconf/proxy.conf; } location /radarr { proxy_pass http://192.168.1.11:7878/radarr; include otherconf/proxy.conf; } location /transmission { proxy_pass http://192.168.1.11:9091/transmission; include otherconf/proxy.conf; } location /jackett { proxy_pass http://192.168.1.11:9117/jackett; include otherconf/proxy.conf; } }
설정한 후에 nginx 설정을 적용해 줍니다.
nginx -s reload
이제 좀더 편리하게 서비스를 사용할 수 있습니다.