これが私の Amazon S3 バケット ポリシーの外観です (一部、AWS Policy Generatorを使用して生成されます)。
{
"Id": "Policy1350503700228",
"Statement": [
{
"Sid": "Stmt1350503699292",
"Action": [
"s3:GetObject"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::files.example.com/*",
"Condition": {
"StringLike": {
"aws:Referer": [
"http://example.com/*",
"http://www.example.com/*"
]
}
},
"Principal": {
"AWS": [
"*"
]
}
}
]
}
バケット ポリシーが行うことになっているのは、バケット内のファイルが直接アクセスされた場合、または 以外のリファラーからアクセスされた場合、「403 Forbidden」エラーをスローすることです(www.)example.com
。
Chrome がこの方法で提供される PDF ファイルに問題があるように見えることを除いて、動作しているようです (たとえば、画像は問題なく読み込まれます)。したがって、files.example.com
(リファラーベースの制限がある)からのPDFは、Chrome(Ubuntu 12.04の最新バージョン)で永久にロードされているようです。一方、Firefox は、サイズが 100KB 未満の PDF を瞬時に読み込みます。
私が何をしているのか/間違っている可能性があるかについて何か考えはありますか?
PS:右クリックして [名前を付けて保存] を選択すると、Chrome でファイルをダウンロードできます。表示されない理由がわかりません。