アプリケーションで認証後 S3 のコンテンツを返したかったのだけど、nginx で BASIC 認証を掛けていたらうまくいかなかった、というお話。 Amazon S3 の認証トークン付き URL をアプリケーションで生成し X-Accel-Redirect ヘッダに出力 nginx が S3 から取得してきてクライアントに返す という動作をさせたくて、以下のように設定。 # nginx.conf location = /reproxy { internal; set $reproxy $upstream_http_x_reproxy_url; proxy_pass $reproxy; proxy_hide_header Content-Type; }アプリケーションからは以下のようなレスポンスヘッダを出力。 X-Accel-Redirect: /reproxy X-Reproxy-URL: