Nginxでリバースプロキシサーバーを構築する【1つのグローバルIPで複数のドメイン名を振り分ける方法】

1つのグローバルIPしか持っていないが、複数のホスト名で振り分け先を変えたい場合、リバースプロキシを使います。 今回は、Nginxを使ってリバースプロキシを実現する方法について説明します。

Nginxのインストール

$ sudo apt install -y nginx

リバースプロキシの設定

例えば、hoge.co.jpというドメイン名でLAN内の192.168.1.100へアクセスを振り分ける場合

リバースプロキシ用の設定ファイルを作成します。ファイル名は任意で構いません。

$ sudo vi /etc/nginx/sites-available/hoge

server {
    server_name hoge.co.jp;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    location / {
        proxy_pass http://192.168.1.100;
    }
}

設定を有効化します。

$ sudo ln -s /etc/nginx/sites-available/hoge /etc/nginx/sites-enabled/

サービスを再起動します。

$ sudo systemctl restart nginx

サイトを増やす場合は、同様にリバースプロキシの設定を増やしていけばOKです。