Path-style vs virtual-host¶
What's the difference?¶
It's how the bucket name appears in the request URL:
| Style | URL shape |
|---|---|
| Path-style | https://endpoint/bucket/key |
| Virtual-host | https://bucket.endpoint/key |
Which should I use with ZenDRIVE S3 Access?¶
Use path-style. It puts the bucket in the path and works reliably against a single dedicated endpoint hostname. It's the recommended default for every client.
Why not virtual-host style?¶
Virtual-host style puts the bucket name in the hostname (bucket.endpoint), which
relies on wildcard hostname handling. Path-style avoids that entirely, so it's the
safer, more compatible choice here.
How do I force path-style in common clients?¶
force_path_style = true
from botocore.config import Config
cfg = Config(s3={"addressing_style": "path"})
Path-style is used automatically when you pass --endpoint-url. To be explicit:
aws configure set s3.addressing_style path --profile zendrive
I'm getting DNS or certificate errors with bucket names — why?¶
That's the classic symptom of virtual-host addressing against a single-host endpoint:
the client tries to resolve bucket.endpoint. Switch to path-style and it goes away.
See client gotchas.
Does path-style change how I name buckets?¶
No. Bucket naming rules are the same; only the URL layout differs. See Browsing & downloading.