nginx で他のドメインへ redirect したいのに、自分のドメインのディレクトリになってしまいます
nginx で、assets 下へのアクセスを、s3 にリダイレクトできないか試しています。
location ~* ^/assets {
return 301 https:/s3-ap-northeast-1.amazonaws.com/hoge-assets$request_uri;
break;
}
Location に、望んているパスが返ってきました。
しかし、Chrome は、「元のドメインの下に、Location の値が入ったパス」にアクセスしてしまいました。
Chrome, Firefox 共に同じ挙動でしたので、ブラウザではなく、nginx か、html が原因ではないかと考えます。html は下記です。
<link rel="stylesheet" media="all" href="/assets/application-d07f97160f917fd45d04dc4f95823689.css" data-turbolinks-track="true" />
- nginx のリダイレクトは、return, rewrite の他に、適切なものがあるでしょうか?
- 相対URL のリクエストを 絶対URL のリダイレクトで返しても、相対URLになってしまうのでしょうか?
備考
なお、html のレンダリング時に 絶対URLを埋め込むべきなのは理解しておりますが、
歴史的経緯があるため、nginx でのリダイレクトを検討しています。