Nginxを利用してリバースプロキシサーバの構築
モチベーション
Nginxでリバースプロキシ用の設定をメモする
サブドメインでアクセス先サーバを変更する場合
server {
listen 80;
server_name wiki.www.example.jp;
location / {
proxy_pass http://192.168.33.1:80;
}
}
server {
listen 80;
server_name blog.www.example.jp;
location / {
proxy_pass http://192.168.33.2:80;
}
}
URIでアクセス先サーバを変更する場合
server {
listen 80;
server_name www.example.jp;
location /wiki {
rewrite ^/wiki/(.+) $1 break;
proxy_pass http://192.168.33.1:80/$1;
}
location /blog {
rewrite ^/blog/(.+) $1 break;
proxy_pass http://192.168.33.2:80/$1;
}
location /log {
rewrite ^/log/(.+) $1 break;
proxy_pass http://192.168.33.3:80/$1;
}
}
実際に設定したもの
blogへのアクセスだけならこれでOK
server {
listen 80;
server_name www.example.jp;
location / {
proxy_pass http://192.168.27.20:80;
}
}
ちなみにバーチャルドメイン(バーチャルホスト)機能もある
1台のWebサーバで複数のサイトを構成する機能をバーチャルドメインとかバーチャルホストという.バーチャルドメインには2つの方法ががあり,1つはホスト名ベースのバーチャルドメイン,もう一つはipアドレスベースのバーチャルドメイン.詳細な設定は省くが,webサーバを大量に構築したいときに使える方法である.
参考
リバースプロキシ基礎知識
nginxを使った構築記事
- Dockerってなんじゃ?(docker+nginxで複数コンテナにWEBサーバーをたてる)
- nginx でリバースプロキシするときの Tips
- Nginx でリバースプロキシサーバーつかってみる。Apache -> Nginx
- nginx連載3回目: nginxの設定、その1
- 入門! nginx