gpt4 book ai didi

kubernetes - 如何为预签名 URL 设置 minio 域?

转载 作者:行者123 更新时间:2023-12-02 12:34:09 25 4
gpt4 key购买 nike

我在 Kubernetes 中使用 minio,效果很好。但是,我似乎无法更改预签名 URL 的域和协议(protocol)。 Minio一直给我http://minio.test.svc:9000/delivery/我想要的地方https://example.com/delivery .我试过设置MINIO_DOMIN在 pods 中,但似乎没有效果;我想我无论如何都在滥用这个var。

最佳答案

这完全取决于您如何创建 Minio 客户端实例。如下指定主机和端口将使 Minio 将您的域解析为 IP 地址并使用 IP 而不是域。示例 JavaScript 代码:

import { Client as MinioClient } from 'minio';

const client = new MinioClient(
endPoint: 'yourdomain.com',
port: 9000,
accessKey: process.env.MINIO_ACCESS_KEY,
secretKey: process.env.MINIO_SECRET_KEY,
useSSL: false
);
如果你像上面那样创建你的 minio 实例,你的域将被解析到它对应的 IP 地址,因此 minio 将使用 http://x.x.x.x:9000而不是 https://yourdomain.com还要注意,如果您的客户端配置如上,尝试使用 useSSL: true将引发如下 SSL 错误
write EPROTO 140331355002752:error:1408F10B:SSL routines:ssl3_get_record:wrong 
version number:../deps/openssl/openssl/ssl/record/ssl3_record.c:332
让 minio 将您的域用作 https://yourdomain.com , 你需要有一个像 nginx 这样的网络服务器将您的请求代理到您的 minio 服务器。 Minio 记录了如何实现此目标 here .按照文档 here 将 SSL 添加到您的域然后继续创建您的 minio 客户端,如下所示:
import { Client as MinioClient } from 'minio';

const client = new MinioClient(
endPoint: 'yourdomain.com',
port: 443,
accessKey: process.env.MINIO_ACCESS_KEY,
secretKey: process.env.MINIO_SECRET_KEY,
useSSL: true
);
注意 port 中的变化和 useSSL参数。
Minio 现在将使用 https://yourdomain.com在所有情况下。签名的网址也将是 https .

关于kubernetes - 如何为预签名 URL 设置 minio 域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57297970/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com