ラズベリーパイを使って自宅内サーバーを構築するのだ。
購入したモノに関する記事はこちら。
自分用に手順を記録しておくための記事なので、他の方がここを参考にして上手くいくかどうかは不明。もしこの通りにやって上手くいかなくても悪しからず。また、サーバー構築のゴールは特に決めてないのでこのシリーズが何回で終わるかも不明。
(前記事はこちら。)
6.リバースプロキシの構築
リバースプロキシって何?って場合は適当にググってほしいのだ。簡単に言えばサーバーへのアクセスを一旦別のサーバー(=プロキシサーバー)で受けて、プロキシサーバーから本来のサーバーにアクセスを転送する仕組みなのだ。そんなことをする主な目的は、本来のサーバーを隠蔽してセキュリティ確保するためだったりする。
6-1.外部からWEBカメラに接続する方式
今回は別記事にも書いた通り、スマホで宅内のWEBカメラの画像を見たいってのが目的の一つで、WEBカメラは犬用と猫用の2つがあるのでそれぞれを見られるようにする必要がある。2つのWEBカメラは当然ながら宅内LANで異なるIPアドレスが割り当てられている。WEBカメラAは192.168.100.201、WEBカメラBは192.168.100.202ってカンジ。
一方、自宅のインターネット接続はごく普通のプロバイダ契約なので動的IPアドレスが1個だけ割り当てられるのだ。
今までは2つのWEBカメラは異なるTCPポートで接続するように設定してあるのだ。WEBカメラAはTCP8001ポート、WEBカメラBはTCP8002ポートってなカンジで。外部からの接続はブロードバンドルーターの静的IPマスカレードの設定で実現してて、ルーターの外からTCP8001ポートに来たら192.168.100.201:8001へ転送し、TCP8002ポートに来たら192.168.100.202:8002へ転送するようにしてある。
6-2.Apacheでリバースプロキシ&バーチャルホスト
今回はラズベリーパイ上のApacheをリバースプロキシとして機能させることでインターネットと宅内LANからの接続をWEBカメラに転送するのだ。またせっかくApacheを使うので、2つのWEBカメラのTCPポートをわざわざ変えているのもやめて、ホスト名で2つのWEBカメラに接続できるようにするのだ。
まずはApacheのインストール
sudo apt-get install apache2
初めてDebianのApacheをインストールしてみたんだけど、設定ファイルが見慣れない感じなのだ。今まで見たことがあるのはhttpd.confってやつ。でもってRaspbianのリバースプロキシとかバーチャルホストの設定ファイルは/etc/apache2/sites-availableにあるのだ。
cd /etc/apache2/sites-available sudo cp 000-default.conf dog.example.jp.conf sudo vi dog.example.jp.conf
設定ファイルはサイト単位で作るのがセオリーらしい。設定ファイルを開いたら次のような感じに定義するのだ。
ServerName dog.example.jp ProxyPass / http://192.168.100.201/ ProxyPassReverse / http://192.168.100.201/
設定ファイルを保存したらこのサイトを有効化する
sudo a2ensite dog.example.jp
同じように猫用のWEBカメラBの設定もする。
sudo cp 000-default.conf cat.example.jp.conf sudo vi cat.example.jp.conf
ServerName cat.example.jp ProxyPass / http://192.168.100.202/ ProxyPassReverse / http://192.168.100.202/
sudo a2ensite cat.example.jp
リバースプロキシを有効にするには次のコマンドを実行するらしい。
sudo a2enmod proxy sudo a2enmod proxy_http
そして設定を有効にするためにサービス再起動。
sudo service apache2 restart
6-3.設定確認
PCから設定を確認してみる。まだdog.example.jpだのcat.example.jpだのをDNSに設定してないので、hostsファイルに定義してPCのブラウザから接続してみるのだ。
hostsファイルに定義するのは次のエントリ
192.168.100.2 dog.example.jp 192.168.100.2 cat.example.jp
つまりどちらのホスト名もラズベリーパイのIPアドレスに接続するように設定するのだ。その状態でブラウザからhttp://dog.example.jpなんて感じに接続してみて、WEBカメラの画面が開ければOKなのだ。
7.DNSサーバーの構築
(次記事へ続く。)
コメント
[…] 6.リバースプロキシの構築 (次記事へ続く。) にほんブログ村 […]