-
Notifications
You must be signed in to change notification settings - Fork 285
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Uppercase bucket name breaks API #44
Comments
May also be experiencing this problem. Our bucket has capitals in it, GSTest |
I can confirm that this is an issue. Using a bucketname such as "cloud" works where as "Cloud" does not. We used a simple get request on S3. a captial letter bucketname returns an 403 but the same request with a lowercase letter returns the file. |
So |
After investigating this, it's unfortunately a lot more complicated. The punchline is, I don't think we should support mixed-case buckets. The reasoning is that mixed-case bucket names are not DNS-compliant. They can only be created in the US Standard region, and are recommended against by Amazon. Furthermore, since you can't access them "virtual hosted style" (i.e. with urls like I think the best thing to do is add a nice error message if the user tries to pass mixed-case bucket names to Knox, and error out early. |
Hey Domenic - is there a quick fix for the S3 lowercase bucket name error in the Demo for the app? I can't seem to get it working. |
@whiteb0x I am not sure what demo and what app you are talking about? I think you can use uppercase names now, it switches to path style and turns off HTTPS which should work... |
If you use a bucket name containing uppercase characters, the
exports.stringToSign(options)
call inauth.js
will return the resource name with uppercase characters, however Amazon waits this in strictly lowercase format in the signature.Example:
Init knox with bucket name
testUpperCase
StringToSign in knox:
Amazon response
HTTP 403
:The text was updated successfully, but these errors were encountered: