携帯サイトの著作物保護 ~画像転送禁止を厳しく設定する~の記事で紹介されているように、SoftBankの携帯で画像転送の禁止を行うには、画像ファイルのレスポンスヘッダにx-jphone-copyrightを付与する必要があります。
しかし画像をS3に置く場合は、S3はx-jphone-copyrightのようヘッダを付与することができないので、Varnishなどのプロキシーを経由する必要があります。
例として、s3.suz-lab.comでアクセスすることができるS3に対して、softbank.suz-lab.comでアクセスすることができるVarnish経由で上記のS3にアクセスするには、下記のように設定ファイル(/etc/varnish/default.vcl)を記述すれば大丈夫です。
backend default { .host = "localhost"; .port = "80"; } sub vcl_recv { if(req.http.host == "softbank.suz-lab.com") { set req.backend = s3_suz_lab_com; set req.http.host = "s3.suz-lab.com"; return (pass); } return (lookup); } sub vcl_deliver { if(req.http.host == "s3.suz-lab.com") { set resp.http.x-jphone-copyright = "no-store"; } return (deliver); } backend s3_suz_lab_com { .host = "s3.suz-lab.com"; .port = "80"; }
ポイントとしては、vcl_deliverでレスポンスヘッダを付与していることと、その際のHostヘッダは、softbank.suz-lab.comではなく、s3.suz-lab.comとなっていることかと思います。
ただし、可用性についてはこのVarnishサーバがボトルネックになってしまうので、必要に応じてAuto Scalingなどを利用する必要があると思います。