cheverato v4,添加minio,选择S3 compatible,填写信息时,提示无法通过。
原因是endpoint只能以IP的形式,不能以域名。
请输入代码
而我们本地搭建的minio基本都是动态IP,必须使用域名才能长久访问。
解决办法:
1.网站目录里找到本文件:/app/src/Legacy/Classes/Storage.php,双击打开。并找到如下这段代码(580多行)
case 's3compatible':
$factoria = [
'version' => '2006-03-01',
'region' => $storage['region'],
'command.params' => ['PathStyle' => true],
'credentials' => [
'key' => $storage['key'],
'secret' => $storage['secret'],
],
'http' => [
'verify' => CaBundle::getBundledCaBundlePath(),
],
];
if ($api_type == 's3compatible') {
$factoria['endpoint'] = $storage['server'];
}
添加如下: 'use_path_style_endpoint' => true, 'signatureVersion' => 'v2' (如下第13 14行)
case 's3compatible':
$factoria = [
'version' => '2006-03-01',
'region' => $storage['region'],
'command.params' => ['PathStyle' => true],
'credentials' => [
'key' => $storage['key'],
'secret' => $storage['secret'],
],
'http' => [
'verify' => CaBundle::getBundledCaBundlePath(),
],
'use_path_style_endpoint' => true,
'signatureVersion' => 'v2'
];
if ($api_type == 's3compatible') {
$factoria['endpoint'] = $storage['server'];
}
保存.
minio对象存储的endpoint可以使用域名了。
注意:
V3版本的文件位置在:
- app/app/lib/classes/class.storage.php
- app/lib/classes/class.storage.php
版权属于:yusuble
本文链接:https://blog.suble.cn/archives/1244.html
本站未注明转载的文章均为原创,并采用
CC BY-NC-SA 4.0 授权协议,转载请注明来源,谢谢!
jj