AlmaLinux9 nginx リバースプロキシの設定方法
環境
AlmaLinux release 9.2 (Turquoise Kodkod)
nginx
概要
ホスト [www.arkgame.com] の Nginx サーバーで受けた HTTP/HTTPS アクセスを、バックエンドホスト
[node01.arkgame.com] の Nginx サーバーへ転送するよう設定します。
操作方法
1.http用の設定を行います
# vi /etc/nginx/nginx.conf
#[server] セクション内を以下のように変更 server { listen 80 default_server; listen [::]:80 default_server; server_name www.arkgame.com; 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://node01.arkgame.com/; } }
2.https用の設定を行います。
# vi /etc/nginx/conf.d/proxy-ssl.conf
# 証明書を置き換え
server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name www.arkgame.com; ssl_certificate "/etc/letsencrypt/live/www.arkgame.com/fullchain.pem"; ssl_certificate_key "/etc/letsencrypt/live/www.arkgame.com/privkey.pem"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_ciphers PROFILE=SYSTEM; ssl_prefer_server_ciphers on; 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://node01.arkgame.com/; } }
3.nginxを再起動します
# systemctl reload nginx
4.SELnux を有効にしている場合は、ブール値を変更します
# setsebool -P httpd_can_network_connect on
5. バックエンド Nginx サーバーで X-Forwarded-For ヘッダーをロギングするよう設定します。
# [http] セクション内の [log_format] 設定確認 http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; # [server] セクション内に追記 # [set_real_ip_from] は自身の信頼できる内部ネットワークを指定 server { listen 80 default_server; listen [::]:80 default_server; server_name node01.arkgame.com; root /usr/share/nginx/html; set_real_ip_from 10.0.0.0/24; real_ip_header X-Forwarded-For;
nginxを再起動します
# systemctl reload nginx