Lucent's Blog

当时明月在 曾照彩云归

人生不相见,动如参与商。


Python minio fget_object 等操作报错AccessDenied的问题

起因是发现 fget_object 方法一直报AccessDenied,但是无论怎样排查 AK/SK都是权限正常的,并且在Java的框架中所有都是正常的。

然后直接尝试直接使用 ip:9000 连接,是正常使用的,所以问题出在了代理上。

我们使用nginx 反向代理了9000端口,看日志发现,所有HEAD请求都变成403了。

原因

Nginx 或中间层缓存可能对 HEAD 请求返回旧的或篡改的响应,最终触发:

S3Error: AccessDenied - Access denied

解决方法:

在反向代理 location 块内加入:

proxy_buffering off;
proxy_request_buffering off;
proxy_cache off;
add_header Cache-Control "no-cache, no-store, must-revalidate";
add_header Pragma "no-cache";

下一篇

启动命令 docker run -itd \ --device=/dev/davinci6 \ --device=/dev/davinci7 \ --device=/dev/davinci_manager \ --device=/dev/hisi_hdc \ …

阅读