Skip to content
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

Unable to access objects on 3rd party S3 endpoints that only support path-style URL's #7

Open
ghost opened this issue Aug 31, 2016 · 1 comment

Comments

@ghost
Copy link

ghost commented Aug 31, 2016

This is more of a feature request, but I would like see the use of path-style object URL's as an option for a given client configuration.

In testing the latest s3motion release with an EMC Elastic Cloud Storage endpoint that is not configured for virtual-host style URL's, I was unable to address objects. The use of the virtual-host style URL's requires some DNS configuration that isn't always practical or approved for use with on-premise object storage deployments. Having the ability to use the "legacy" path-style URL's would provide a suitable workaround.

Here is an example of the error:

Confirm bucket existence:

curl -i -XGET http://localhost:8080/api/buckets/ecs-joe
HTTP/1.1 200 OK
X-Powered-By: Express
Content-Type: application/json; charset=utf-8
Content-Length: 155
ETag: W/"9b-e8fcc88c"
Date: Wed, 31 Aug 2016 20:06:08 GMT
Connection: keep-alive

{"Buckets":[{"Name":"joe","CreationDate":"2016-08-17T19:48:23.501Z"}],"Owner":{"DisplayName":"<redacted>","ID":"<redacted>"}}

Attempt object listing:

$ curl -i -XGET http://localhost:8080/api/objects/ecs-joe/joe
HTTP/1.1 200 OK
X-Powered-By: Express
Content-Type: application/json; charset=utf-8
Content-Length: 1102
ETag: W/"c004Wda6KT/KI8i9JytTRg=="
Date: Wed, 31 Aug 2016 20:12:16 GMT
Connection: keep-alive

"unable to list joe : UnknownEndpoint: Inaccessible host: `joe.<redacted>.<redacted>.com'. This service may not be available in the `us-east-1' region.
    at Request.ENOTFOUND_ERROR (/usr/local/lib/node_modules/s3motion/node_modules/s3/node_modules/aws-sdk/lib/event_listeners.js:355:46)
    at Request.callListeners (/usr/local/lib/node_modules/s3motion/node_modules/s3/node_modules/aws-sdk/lib/sequential_executor.js:100:18)
    at Request.emit (/usr/local/lib/node_modules/s3motion/node_modules/s3/node_modules/aws-sdk/lib/sequential_executor.js:77:10)
    at Request.emit (/usr/local/lib/node_modules/s3motion/node_modules/s3/node_modules/aws-sdk/lib/request.js:604:14)
    at ClientRequest.error (/usr/local/lib/node_modules/s3motion/node_modules/s3/node_modules/aws-sdk/lib/event_listeners.js:204:22)
    at ClientRequest.<anonymous> (/usr/local/lib/node_modules/s3motion/node_modules/s3/node_modules/aws-sdk/lib/http/node.js:61:19)
    at ClientRequest.emit (events.js:95:17)
    at Socket.socketErrorListener (http.js:1552:9)
    at Socket.emit (events.js:95:17)
    at net.js:834:16"
@ghost ghost changed the title Unable to access objects on non-AWS S3 endpoints that only supports path-style URL's Unable to access objects on 3rd party S3 endpoints that only support path-style URL's Aug 31, 2016
@kacole2
Copy link
Owner

kacole2 commented Aug 31, 2016

@joeharlan i'll have to add this to my backlog of things to do. I haven't updated this in a while and didn't know if people were getting use out of it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant