S3 Compatible Hostname field requires protocol

Created on 17 April 2019, almost 6 years ago
Updated 15 January 2025, about 2 months ago

This could possibly be a documentation issue, but it should probably be addressed programmatically:

In the inline documentation for Advanced Configurations/Use a Custom Host, the field for the Hostname states: "Custom service hostname, e.g. "objects.dreamhost.com"." -- the problem is that if you enter it as documented, without the URL protocol included, you get a somewhat cryptic error:

An unexpected Aws\Common\Exception\TransferException occured, with the following error message:
[curl] 3: [url] //<bucket-name>.?max-keys=1

where <bucket-name> is the name of your S3 bucket. It took me a day to figure out that this is similar to a malformed url error in curl. I guessed that the problem was a missing URL protocol, and when I added https:// to the beginning of my third party host name, s3fs was able to properly configure without errors.

While the solution could be better documentation, it probably makes more sense to detect the missing protocol and add it in, especially since our compatible S3 host (wasabi) states that the correct location for their server is "s3.wasabisys.com" -- I'm betting other hosts are similar.

πŸ› Bug report
Status

Closed: outdated

Version

2.13

Component

Code

Created by

πŸ‡ΊπŸ‡ΈUnited States friolator

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

  • πŸ‡ΊπŸ‡ΈUnited States cmlara

    Drupal 7 end-of-life triage:
    Drupal 7 reached end of life on January 5th.

    The 7.x branches of S3FS do not have any additional planned releases.

    The 8.x-3.x branch explicitly calls out a protocol is required. While we could auto-populate this we would be forced to make an assumption on the protocol, generally it will be HTTPS, however not all sites use such buckets, especially when buckets are internal. That is extra logic that would have to be in every bootstrap until config validation can enforce a protocol.

    I won't say there isn't a chance this could be added in the future, however in 8.x-3.x newer we have net seen it cause significant concern to justify the effort at this time.

Production build 0.71.5 2024