このブログはアクセス解析のために、Nginxではてなブログ向けのリバースプロキシを設置している。Nginxに加え、FastlyのCDNを経由させたところ、 404 Blog is not found
となってしまった。
詳細不明だが、はてなブログ側での振り分けの際にHostヘッダ以外の各種ヘッダを参照しており、何らかの問題があったように見える。
構成概要
Client -> Fastly -> Nginx -> Hatenablog
ヘッダを引き継がないようにする
proxy_pass_request_headers
(デフォルト on
)を off
にすることで、クライアントからNginxへのヘッダを引き継がないようにできる。
http { server { ... location / { proxy_pass_request_headers off; proxy_set_header Host designetwork.daichi703n.com; proxy_pass https://hatenablog.com; } } }
はてなブログ編集リアルタイムプレビュー /realtime_preview
が 403 Invalid signature になってしまう...
ヘッダを消しすぎたようで、編集モードのリアルタイムプレビューの認証が通らなくなってしまった...。雑にヘッダを削除するのは良くない。
まとめ - Nginx R-Proxy proxy_pass_request_headers offでupstream向けにHeaderを引き継がない
proxy_pass_request_headers off;
を設定することで、Nginx R-Proxyからupstreamへのリクエストに対して、元ヘッダをを引き継がずにシンプルなリクエストを送信することができる。