Ubuntu 16.04
Sponsored Link

Nginx : リバースプロキシの設定#1
2016/07/07
 
Nginx でのリバースプロキシの設定です。
[1] 例として、Nginx の 80 ポートで受けた HTTP アクセスを、バックエンドの Apache httpd サーバーへ転送するよう設定します。
root@www:~#
vi /etc/nginx/sites-available/default
# server セクション内を以下のように変更

    server {
        listen      80 default_server;
        listen      [::]:80 default_server;
        server_name www.srv.world;

        proxy_redirect           off;
        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;

        location / {
            proxy_pass http://dlp.srv.world/;
        }
    }

root@www:~#
systemctl restart nginx

[2] バックエンド Apache2 サーバーで X-Forwarded-For ヘッダーをロギングするよう設定しておきます。
root@dlp:~#
a2enmod remoteip

Enabling module remoteip.
To activate the new configuration, you need to run:
  service apache2 restart

root@dlp:~#
vi /etc/apache2/apache2.conf
# 206-209行目:以下のように変更

# RemoteIPInternalProxy は Nginx のIPアドレスを指定

RemoteIPHeader X-Forwarded-For
RemoteIPInternalProxy 10.0.0.31

LogFormat "%v:%p
%a
%l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "
%a
%l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
root@dlp:~#
systemctl restart apache2

[3] 任意のクライアントからフロント の Nginx サーバーへ HTTP アクセスして動作を確認してください。
 
Tweet