I am using S3 to store some business critical documents. I want the bucket to return a 404 status code when trying to access an object that does not exist in the bucket.
However, I am finding that it keeps on returning me "403
here is an example of a session using the S3 website url.
> GET /foobar.txt HTTP/1.1 > User-Agent: curl/7.21.6 (x86_64-pc-linux-gnu) libcurl/7.21.6 OpenSSL/1.0.0e zlib/184.108.40.206 libidn/1.22 librtmp/2.3 > Host: <bucketname>.s3-website-us-east-1.amazonaws.com > Accept: */* > < HTTP/1.1 403 Forbidden < Last-Modified: Mon, 09 Sep 2013 19:10:28 GMT < ETag: "14e13b81b3ce5b129d1f206b3e514885" < x-amz-error-code: AccessDenied < x-amz-error-message: Access Denied < x-amz-request-id: <snip> < x-amz-id-2: <snip> < Content-Type: text/html < Content-Length: 11 < Date: Thu, 26 Sep 2013 20:01:45 GMT < Server: AmazonS3 < Not found!
Note, the "Not Found!" string is coming from the error document set on the bucket properties when enabling S3 website hosting.
I have also tried accessing using the bucket url directly
and that returns the same, except that instead of the error document, I get a XML document
How do I solve this problem?