Как подключить кастомный домен в s3 Laravel?

Ссылка скопирована
1 ответ

На хостинге подключили кастомный домен и теперь файлы открываются по пути https://s3.forblitz.ru/uploads/modifications/image... (кастомный домен)
https://s3.timeweb.com/296643f3-forblitz/uploads/m... (домен хостинга)

Однако, если установить кастомный домен в AWS_URL или AWS_ENDPOINT, дамп Storage::put() выдаёт false. При этом, если установить стандартный домен s3.timeweb.com, всё работает нормально (в нём также присутствует название бакета).

Дополнительно:

AWS_BUCKET=296643f3-forblitz
AWS_URL=https://s3.forblitz.ru

AWS_ENDPOINT или не задавать или попробовать https://s3.timeweb.com

  • не знаю как ты это сделал, но я перепробовал все варианты, включая этот и оно не работало.

    решил попробовать ещё раз - заработало, спасибо, лучший :)

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Роман IT Ответ

Для подключения кастомного домена к хранилищу S3 в Laravel, вам необходимо выполнить несколько шагов. Ниже приведены инструкции:

1. Создайте бакет S3 на Amazon Web Services (AWS) и загрузите в него необходимые файлы.

2. Зайдите в консоль управления AWS и откройте раздел S3. Найдите ваш бакет и откройте его. Перейдите во вкладку «Свойства» и найдите раздел «Статический веб-сайт хостинг». Включите эту функцию и запомните конечную точку (Endpoint) вашего бакета.

3. Далее вам необходимо настроить DNS записи для вашего кастомного домена. Создайте новую запись CNAME или A в настройках вашего домена и укажите в качестве значения конечную точку вашего бакета S3.

4. Теперь приступим к настройке Laravel. Откройте файл `config/filesystems.php` и найдите раздел `disks`. Добавьте новый диск для вашего S3 бакета, указав ключ доступа, секретный ключ, регион и конечную точку бакета. Пример кода:

's3_custom' => [
    'driver' => 's3',
    'key' => 'your-key',
    'secret' => 'your-secret',
    'region' => 'your-region',
    'bucket' => 'your-bucket',
    'endpoint' => 'your-endpoint',
],

's3_custom' => [ 'driver' => 's3', 'key' => 'your-key', 'secret' => 'your-secret', 'region' => 'your-region', 'bucket' => 'your-bucket', 'endpoint' => 'your-endpoint', ],

5. Теперь вам нужно изменить файл `.env` и добавить новые переменные окружения для вашего кастомного диска. Пример:

S3_CUSTOM_KEY=your-key
S3_CUSTOM_SECRET=your-secret
S3_CUSTOM_REGION=your-region
S3_CUSTOM_BUCKET=your-bucket
S3_CUSTOM_ENDPOINT=your-endpoint

S3_CUSTOM_KEY=your-key S3_CUSTOM_SECRET=your-secret S3_CUSTOM_REGION=your-region S3_CUSTOM_BUCKET=your-bucket S3_CUSTOM_ENDPOINT=your-endpoint

6. Теперь вы можете использовать ваш кастомный диск S3 в Laravel для загрузки и получения файлов. Пример использования:

Storage::disk('s3_custom')->put('file.jpg', $file);
$url = Storage::disk('s3_custom')->url('file.jpg');

Storage::disk('s3_custom')->put('file.jpg', $file); $url = Storage::disk('s3_custom')->url('file.jpg');

Теперь ваш кастомный домен должен быть успешно подключен к вашему S3 бакету в Laravel. Не забудьте выполнить команду `php artisan config:cache`, чтобы обновить кэш конфигурации Laravel.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно