带有laravel的Minio,存储桶名称前缀为本地服务器上的子域

xjreopfe  于 2022-12-24  发布在  其他
关注(0)|答案(2)|浏览(310)

我用minio来存储文件,我也用docker-compose来配置它。我的laravel文件系统配置文件看起来是这样的。

's3' => [
        'driver' => 's3',
        'key' => '',
        'secret' => '',
        'region' => 'ap-southeast-1',
        'bucket' => 'students',
        'endpoint' => 'http://minio:9000',
    ]

我可以使用http://minio:9000访问minio Web Jmeter 板。但在存储对象时遇到以下错误。

// code to store file
Storage::disk('s3')->put($bucketFolder . $name, file_get_contents($file));

//Exception thrown
Error executing "PutObject" on "http://students.minio:9000/misc/1641374889-1033010763.png"; AWS HTTP error: cURL error 6: Could not resolve host: students.minio (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for http://students.minio:9000/misc/1641374889-1033010763.png

我不知道为什么 * 学生 *.被添加到端点URL。

ojsjcaue

ojsjcaue1#

我通过修改config.php如下得到了正确的。如果任何人有其他的选择,请建议。

's3' => [
        'driver' => 's3',
        'key' => '',
        'secret' => '',
        'region' => 'ap-southeast-1',
        'bucket' => 'students',
        'bucket_endpoint' => true, // added
        'endpoint' => 'http://minio:9000/students',
    ]
bz4sfanl

bz4sfanl2#

在golang中遇到类似问题,其中存在配置属性S3ForcePathStyle

s3Config := &aws.Config{
    Credentials: credentials.NewStaticCredentials(apiKey, apiSecret, ""),
    Endpoint:         "http://minio:9000",
    Region:           "ap-southeast-1",
    S3ForcePathStyle: aws.Bool(true), // bool pointer
}

相关问题