Nginx でリバースプロキシサーバーつかってみる。Apache -> Nginx

More than 3 years have passed since last update.


やっと Nginx を触ってみる

Nginx 勉強用に買った本が埋もれてました。そのうちと・・・思っていたら。すでに2年が経過しとった。

現在,我が家の構成として グローバル IP アドレスが一つしかないため複数のドメインを VirtualHost で運用してる状況。Nginx に全て置き換えてもいいのだけどここは Nginx -> Apache と多段にしてみる勉強がてらリバースプロキシサーバーとして設定してみる(そもそも Nginx が軽快で速いという理由は静的コンテンツを高速で配信する設計思想なところは理解しているつもり)。

nginx.png


リバースプロキシサーバーの設定ポリシー

リバースプロキシサーバーとして動作させるホストに Nginx をインストールする。またDNS設定済みででサブドメインが引けている状態であること、既存 Apache の設定は変更せずなどあるけど基本的には、問題があればすぐに戻せる構成にしてみる。

nginx2.png


インストール

とりあえず特別な機能を使う用途がないのであれば、パッケージ版をインストールするのがベスト。当たり前ですがパッケージ版の Nginx では、デフォルトの機能しかインストールされていないので、拡張したい場合はソースからコンパイルすること(nginx -V で機能をみることができる)。


CentOS6.xにてnginxの最新版をインストールする手順



設定ファイル

/etc/nginx/conf.d の下に適当なファイル名で configファイルを作成します。

server {

listen 80;
server_name バーチャルホスト名; ← 外部から引けること

proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_max_temp_file_size 0;

location / {
proxy_pass http://192.168.11.88;
}
}


Nginxでバージョン情報を隠す

公開サーバは色々と情報を公開すべきではないので、バージョン情報を隠しておきます。

http {

server_tokens off;
...


mod_rpaf のインストール

リバースプロキシサーバーから転送された情報を Apache側で受け取るとリバースプロキシサーバーのアドレス(192.168.11.88)が記録されてしまうため具合が悪いので、Apache側 に mod_rpaf モジュールをインストールする。


リーバスプロキシ/ロードバランサとmod_rpaf

nginx+apacheでちょっぴり快適なWebサーバーを目指してみる

nginxでリバースプロキシ先にホスト名が引き継がれない



Nginx を触ってみて

Nginx 少し毛嫌いしてた感じもあるけど設定ファイルは直感的で判りやすいのでいいかも。

意外と簡単にリバースプロキシサーバーの設定もできるもんだなと思った次第。


Rewrite

Apache だけど毎回忘れるのでRewriteのリンクメモ


Apache Rewrite 学習



参考サイト


nginx でリバースプロキシするときの Tips

仮想CentOSのnginx+Apach2でリバースプロキシ

nginx連載3回目: nginxの設定、その1