訪問ありがとうございます。

ラズベリーパイを焼く(5)

2つのWEBカメラ RaspberryPi
2つのWEBカメラ

ラズベリーパイを使って自宅内サーバーを構築するのだ。

購入したモノに関する記事はこちら

自分用に手順を記録しておくための記事なので、他の方がここを参考にして上手くいくかどうかは不明。もしこの通りにやって上手くいかなくても悪しからず。また、サーバー構築のゴールは特に決めてないのでこのシリーズが何回で終わるかも不明。

(前記事はこちら。)

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へ転送するようにしてある。

2つのWEBカメラ

2つのWEBカメラ(旧)

6-2.Apacheでリバースプロキシ&バーチャルホスト
今回はラズベリーパイ上のApacheをリバースプロキシとして機能させることでインターネットと宅内LANからの接続をWEBカメラに転送するのだ。またせっかくApacheを使うので、2つのWEBカメラのTCPポートをわざわざ変えているのもやめて、ホスト名で2つのWEBカメラに接続できるようにするのだ。

2つのWEBカメラ

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サーバーの構築
(次記事へ続く。)

↓クリックしてください。
にほんブログ村 その他日記ブログ 50代男性日記へ
にほんブログ村

コメント

  1. […] 6.リバースプロキシの構築 (次記事へ続く。) にほんブログ村 […]

タイトルとURLをコピーしました