Skip to content

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.