Nginxをリバースプロキシとして利用するための方法と個人用メモ
プロキシ設定
Nginxをリバースプロキシとして利用するためには、/etc/nginx/conf.d に設定ファイルを配置すればよい
ファイル名は {ConfigName}.conf
今回は server.conf としてファイルを配置した
以下のように server.conf を用意して Nginx を再起動する
server.conf
server{
server_name example.com;
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;
location /example/ {
proxy_pass http://localhost:8080/app/;
}
location /example2/ {
proxy_pass http://example2.com/example/;
}
}
proxy_set_header の記述により、転送先にアクセス元のIPやホスト情報を通知する
location は複数記述可能
クッキーの書き換えも可能で、書き方は proxy_cookie_path /abc/ /edf/; のようになる
rewriteディレクティブ
rewriteディレクティブを記述することで apache の mod_rewriteと同様のことができる
書き方は rewrite regexp replacement option となっている
具体例は以下
rewrite /reg/(.*) /replace/$1 last;
option には以下のどれかを指定可能
オプション | 説明 |
---|---|
last | rewriteルールが適用されるとURLを上書きして処理を終了 |
break | URLを上書きして処理を続行 |
redirect | HTTP 302 temporary redirect を返す |
permanent | HTTP 301 redirect を返す |
参考サイト
- Nginxでリバースプロキシを設定する http://9ensan.com/blog/server/sakura-vps-nginx-reverse-proxy/
- Nginxのrewrite機能でURLの書き換えをしてみる http://komeiy.hatenablog.com/entry/2014/12/10/231714
- nginxとTomcatの連携 http://sekai.hatenablog.jp/entry/2013/02/13/185900
- nginx と Tomcat の連携 http://fujishinko.exblog.jp/8362059/
- Web開発/本番環境構築についてまるっとまとめるWIKI http://sakudevel.wiki.fc2.com/wiki/Nginx