
Nginxのリバースプロキシで、プロキシ先にドメインを含める場合は、単純に行うとNginxがDNSをキャッシュしてしまって、プロキシ先のIPが変わった場合に障害になります。
- Nginx設定時にvalid=5sを加える
- Nginx設定時に変数にURLを一旦持たせる
- プロキシ先のDNSレコードのTTLを5秒程度に短くする
例の場合はhoge.example.netのTTLを5にする
この3点が必要
server {
server_name www.example.com;
listen 443 ssl;
access_log /dev/stdout ltsv if=$loggable;
root /var/www/html;
ssl_certificate /etc/nginx/ssl/default/server.crt;
ssl_certificate_key /etc/nginx/ssl/default/server.key;
ssl_protocols TLSv1.3 TLSv1.2;
ssl_prefer_server_ciphers on;
proxy_set_header hostname hoge;
## ルートディレクトリの取り扱い
location = / {
resolver 172.31.0.2 8.8.8.8 valid=5s ipv6=off; # VPCのネットワークが172.31.0.0/16の場合、+2する
proxy_ssl_server_name on;
set $url https://hoge.example.net/web/portal/1/event/2; # result ... https://hoge.example.net/web/portal/1/event/2/
proxy_pass $url$uri$is_args$args;
}
## serviceで始まる場合
location ^~ /service/ {
resolver 172.31.0.2 8.8.8.8 valid=5s ipv6=off;
proxy_ssl_server_name on;
set $url https://hoge.example.net/web/portal/1/event/2; # result ... https://hoge.example.net/web/portal/1/event/2/service/
proxy_pass $url$uri$is_args$args;
}
(略)
}

![[Solved] Nginx 空のファイルがダウンロードされる nginx empty file download](https://www.yuulinux.tokyo/contents/wp-content/uploads/2022/04/Nginx_logo.svg_-150x150.png)
![【Soved】Nginx [crit] 20655#20655: *56 open() “/var/log/nginx/xxxx.access.log” failed (13: Permission denied) while logging request](https://www.yuulinux.tokyo/contents/wp-content/uploads/2020/06/linux_2021_2-150x150.jpg)
