我在 Kubernetes 中使用 minio,效果很好。但是,我似乎无法更改预签名 URL 的域和协议。Minio 总是给我http://minio.test.svc:9000/delivery/想要的地方https://example.com/delivery。我尝试MINIO_DOMIN在pod中设置,但似乎没有效果;无论如何,我认为我滥用了这个变量。
这完全取决于您如何创建 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
);
Run Code Online (Sandbox Code Playgroud)
如果您像上面一样创建您的 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
Run Code Online (Sandbox Code Playgroud)
为了使 minio 使用您的域名https://yourdomain.com,您需要有一个 Web 服务器,例如nginx将您的请求代理到您的 minio 服务器。Minio 已在此处记录了如何实现此目的。按照此处所述将 SSL 添加到您的域,然后继续创建您的 minio 客户端,如下所示:
write EPROTO 140331355002752:error:1408F10B:SSL routines:ssl3_get_record:wrong
version number:../deps/openssl/openssl/ssl/record/ssl3_record.c:332
Run Code Online (Sandbox Code Playgroud)
port注意和参数的变化useSSL。
https://yourdomain.comMinio 现在将在所有情况下使用。签名的网址也将是https.
| 归档时间: |
|
| 查看次数: |
11890 次 |
| 最近记录: |