> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gcore.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Storage 4xx error troubleshooting

If Object Storage or SFTP Storage returns an error, first check the [Gcore Status Page](https://status.gcore.com) for active incidents or maintenance.

## HTTP 404

A 404 error means the storage cannot find the requested file. Two common causes:

1. The file hasn't been uploaded yet — confirm the file exists via the [Gcore Customer Portal](https://portal.gcore.com) or an S3-compatible client.
2. The request URL is malformed — Object Storage files are accessed as `http(s)://<bucket-name>.<hostname>`, where the hostname for each location is in the **Details** section of the storage in the Customer Portal or in the [URL format](/storage/request-content-directly-from-the-storage) reference.

## HTTP 403

A 403 error means the file or bucket is private — Object Storage buckets and files block external access by default.

To allow public access, set an ACL (Access Control List) rule on the bucket or file. Both AWS CLI and s3cmd support this operation.

### AWS CLI

Run `put-object-acl` with `--acl public-read` to grant public read access:

```sh theme={null}
aws s3api put-object-acl --bucket my_bucket --key file.jpg --acl public-read --endpoint-url=https://s3-ed1.cloud.gcore.lu
```

Replace `my_bucket` with the bucket name, `file.jpg` with the filename, and `s3-ed1.cloud.gcore.lu` with the service URL for the storage location.

### s3cmd

Run `setacl --acl-public` to grant public read access:

```sh theme={null}
s3cmd setacl --acl-public s3://my_bucket/file.jpg
```

Replace `my_bucket` with the bucket name and `file.jpg` with the filename.
