Nginx : リバースプロキシの設定#12016/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_combinedLogFormat " %a %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
systemctl restart apache2 |
| [3] | 任意のクライアントからフロント の Nginx サーバーへ HTTP アクセスして動作を確認してください。 |
|
| Sponsored Link |
|
|