Plex Media Serverをサブドメインで運用&SSL通信化する

DTVplex

Plex Media Serverは、自宅のサーバーやNASにインストールをしておけば、動画や写真、音楽を外出先からも参照することが出来る非常に便利なツールである。
しかしながら、ただインストールしただけではデフォルトでは32400ポートでアクセスする形となり、あまり格好良くない。
そこで今回はApacheのmod_proxy(リバースプロキシ)を使用して、サブドメインでPlexを運用することとする。

Apacheのリバースプロキシを利用したPlexのサブドメイン運用

簡単に言えば、「インターネット(80/443ポート)→Apache→(32400ポート)Plex」という形で、間にApacheを経由させることでインターネットからポートを指定せずとも接続出来るようにする。

簡単にいえばリバースプロキシ、ということだ。

Apacheの設定

今回は443ポート(https://)で運用する。「https://plex.example.com」でアクセスすると「http://example.com:32400」で動作しているPlex Media Serverにアクセス出来るようにするためには、apacheのconfファイルに下記を追記すれば良い。

簡単に設定を見ていくと、まずこのバーチャルホストの名称を定義してあげたあと、リバースプロキシをオンにする。
プロキシは基本的にローカルホストの32400ポートに接続される形となるが、Socket通信に関してもきちんとリバースプロキシを経由するように動作を設定する。
最後に、Plexは内部のアクセスを「example.com:32400」で行う必要があるため、ModRewriteを使用して「plex.exmaple.com」に対する全てのアクセスを「example.com:32400」にリライトするよう設定をしている。
エラーログを個別に吐き出すようにしているが、ここは適当に。

なお、この段階ではサーバー証明書が用意されていないため、セキュリティに関する警告が出る。Let’s Encryptを使用して証明書を用意しよう。

Let’s Encryptを使用してSSL通信をする

Let’s encryptで上記のサブドメイン「plex.example.com」を追記してあげれば、このサブドメインに対する証明書を発行することが出来る。

既に「example.com」に対してLet’s Encryptを用いているのであれば、次のように設定をすれば「example.com」に追加する形で「plex.example.com」にも対応可能。

これで、PlexをサブドメインかつSSL通信で利用することが出来る。

DTVplex

Posted by webnetforce