Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
There are two ways to generate S3 object URLs, virtual-hosted style URLs vs. path-style URLs [1]: - Virtual-hosted-style: `http://bucket.s3.amazonaws.com` - Path-style: `http://s3.amazonaws.com/bucket` Virtual-hosted-style is Amazon's preferred default, however HTTPS is not compatible with all virtual-hosted-style URLs. Specifically, virtual-hosted-style buckets with dots in their names always cause HTTPS cert validation errors, as per RFC 2818 [2][3]: https://foo.bar.s3.amazonaws.com/key Path-style access works fine with HTTPS, without forcing a bucket rename: https://s3.amazonaws.com/foo.bar/key This commit allows configuring the client for path-style access via the cred map: (let [cred {:access-key ... :secret-key ... :path-style-access? true}] (generate-presigned-url cred bucket key)) Note that when using path style access you may need to manually specify your region-specific S3 endpoint [1]: (let [cred {... :path-style-access? true :endpoint "s3-us-west-1.amazonaws.com"}] ...) [1]: http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html [2]: http://www.ietf.org/rfc/rfc2818.txt [3]: http://shlomoswidler.com/2009/08/amazon-s3-gotcha-using-virtual-host.html
- Loading branch information