Цель: Открыть публичный доступ к папке nomenclature/ для обмена данными между системами
fe2c1d30dc11-s3-0kt{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadNomenclature",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::fe2c1d30dc11-s3-0kt/nomenclature/*"
}
]
}
Через браузер:
Открыть URL:
https://s3.ru1.storage.beget.cloud/fe2c1d30dc11-s3-0kt/nomenclature/images/premier_01001.jpg
Через терминал:
curl -I https://s3.0kt.ru/fe2c1d30dc11-s3-0kt/nomenclature/images/premier_01001.jpg
Ожидаемый результат: HTTP 200 OK
Если панель Beget не позволяет настроить Bucket Policy, можно попробовать через s3cmd:
apt-get install s3cmd
Создать файл ~/.s3cfg:
[default]
access_key = F1AIVIQI0DE3PJGIWQC1
secret_key = iRDHW0PJsqTb070EDUdOpCQuKwtw7C9POX0KGsmZ
host_base = s3.ru1.storage.beget.cloud
host_bucket = fe2c1d30dc11-s3-0kt.s3.ru1.storage.beget.cloud
use_https = True
# Для всей папки nomenclature/
s3cmd setacl --acl-public --recursive s3://fe2c1d30dc11-s3-0kt/nomenclature/
# Или для конкретной подпапки
s3cmd setacl --acl-public --recursive s3://fe2c1d30dc11-s3-0kt/nomenclature/images/
s3cmd info s3://fe2c1d30dc11-s3-0kt/nomenclature/images/premier_01001.jpg
Если оба метода не работают:
Bucket: fe2c1d30dc11-s3-0kt
Папка: nomenclature/
Необходимо открыть публичный доступ на чтение (GetObject)
для всех файлов в папке nomenclature/*
Bucket Policy:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::fe2c1d30dc11-s3-0kt/nomenclature/"
}
]
}
```
Базовые URL:
# Через Beget
https://s3.ru1.storage.beget.cloud/fe2c1d30dc11-s3-0kt/nomenclature/
# Через кастомный домен
https://s3.0kt.ru/fe2c1d30dc11-s3-0kt/nomenclature/
Примеры файлов:
# Изображения
https://s3.0kt.ru/fe2c1d30dc11-s3-0kt/nomenclature/images/premier_01001.jpg
https://s3.0kt.ru/fe2c1d30dc11-s3-0kt/nomenclature/images/images_index.xlsx
# Каталоги
https://s3.0kt.ru/fe2c1d30dc11-s3-0kt/nomenclature/catalogs/products_full.xlsx
# 1С обмен
https://s3.0kt.ru/fe2c1d30dc11-s3-0kt/nomenclature/1c_exchange/import/products.xml
HTML:
<img src="https://s3.0kt.ru/fe2c1d30dc11-s3-0kt/nomenclature/images/premier_01001.jpg" alt="Product">
PHP:
$s3_base = 'https://s3.0kt.ru/fe2c1d30dc11-s3-0kt/nomenclature/';
$image = $s3_base . 'images/' . $filename;
JavaScript:
const s3Base = 'https://s3.0kt.ru/fe2c1d30dc11-s3-0kt/nomenclature/';
const imageUrl = s3Base + 'images/' + filename;
1С:
АдресФайла = "https://s3.0kt.ru/fe2c1d30dc11-s3-0kt/nomenclature/1c_exchange/import/products.xml";
ФайлДанных = ПолучитьИнтернетФайл(АдресФайла);
Причина: Публичный доступ не настроен
Решение:
1. Проверить Bucket Policy в панели Beget
2. Убедиться, что Resource содержит правильный путь
3. Проверить, что Effect = "Allow", а не "Deny"
Причина: Файл не существует или неправильный URL
Решение:
1. Проверить список файлов:
bash
s3cmd ls s3://fe2c1d30dc11-s3-0kt/nomenclature/images/
2. Убедиться в правильности пути в URL
Причина: Проблемы с сертификатом домена s3.0kt.ru
Решение:
1. Использовать прямой Beget URL:
https://s3.ru1.storage.beget.cloud/...
2. Дождаться распространения DNS (до 48 часов)
Beget:
- Email: support@beget.ru
- Телефон: 8 (800) 700-06-08
- Панель: https://cp.beget.com/ → Тикеты
Создано: 2025-11-18
Обновлено: 2025-11-18