我正在使用 s3proxy 来管理 s3 api 到 blob 存储。 mongodb 使用它来存储备份。
我正在使用 RADAR-Base/s3proxy helm 图表和此值文件安装 s3proxy
s3:
identity: $S3_PROXY_ID
credential: $S3_PROXY_CRED
target:
provider: azureblob
endpoint: $S3_PROXY_AZURE_ENDPOINT
identity: $S3_PROXY_AZURE_ID
credential: $S3_PROXY_AZURE_CRED
通过 s3proxy 服务的端口转发并使用 aws cli,一切都可以正常工作
➜ deployment git:(main) ✗ k port-forward -n s3proxy svc/s3proxy-s3-proxy 8000:80
Forwarding from 127.0.0.1:8000 -> 80
Forwarding from [::1]:8000 -> 80
puis que je tape dessus avec aws cli j'ai une bonne sortie
➜ deployment git:(main) ✗ aws s3 ls s3://mycontainer --endpoint http://localhost:8000
2024-02-06 16:20:16 66 fruits.json
但是当我尝试在 Pod 中执行此操作时,我收到了禁止的 http 错误
sh-5.1# echo $SECRET_KEY
s3proxy
sh-5.1# echo $ACCESS_KEY
s3proxy
sh-5.1# mc alias set my-s3 http://s3proxy-s3-proxy.s3proxy.svc.cluster.local ACCESS_KEY SECRET_KEY
(我尝试使用 wget 检查是否是 dns 解析导致了该问题,但它以 403 禁止的方式解决)
(是的,我使用 s3proxy 作为访问密钥和密钥)
我认为这可能是由于 cors 的起源。
我只需要使用
--api s3v4
。