nginxのリバースプロキシをRaspberry Piで使用

この投稿は次の言語でも読めます: 英語 簡体中国語 ロシア語 スペイン語 ポルトガル語 フランス語 アラビア語 ドイツ語

< インストール準備 >
このページの手順を進めるにはDebian wheezyのマシンが必要です。Raspberry Piに特化した内容ではありません。

< なぜRaspberry Piか >
リバースプロキシは単純な機能です。基本的には一般的なバソコンやサーバマシンにとっては軽すぎるタスクと思います。Raspberry Piはパワフルなマシンではありませんが、省エネかつ非常に安く、世界中の誰もが購入可能で、リバースプロキシには十分なマシンです。こういった理由から自分はRaspberry Piをリバースプロキシに使用しています。

< nginxのインストール >
以下のコマンドを実行してください。

apt-get install nginx

以上です。

< 設定ファイルの編集 >
標準設定ファイルを編集します。

nano /etc/nginx/sites-available/default

私の “/etc/nginx/sites-available/default” はこんな感じです。

server {
listen 80;
server_name mydomain.net;

location / {
proxy_pass http://127.0.0.1:8080;
}
}

この設定では “mydomain.net” へのアクセスを同Raspberry Pi内の8080番ポートへ転送しています。

< プロキシ設定ファイルの追加 >
プロキシ設定ファイルを追加します。

nano /etc/nginx/conf.d/proxy.conf

私の “/etc/nginx/conf.d/proxy.conf” はこんな感じです。

# Header
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

# Timeout
proxy_connect_timeout 60;
proxy_read_timeout 90;
proxy_send_timeout 60;

# Buffer
proxy_buffering on;
proxy_buffer_size 8k;
proxy_buffers 100 8k;

# Cache
proxy_cache_path /var/cache/nginx/mydomain.net levels=1:2 keys_zone=cache_$
proxy_temp_path /var/cache/nginx/temp;

proxy_cache_valid 200 2h;
proxy_cache_valid 302 2h;
proxy_cache_valid 301 4h;
proxy_cache_valid any 1m;

また、root権限でキャッシュディレクトリを作成します。

mkdir /var/cache/nginx

< nginxの開始 >

service nginx start

どうでしたでしょうか?簡単だったでしょうか?