Open cxplay opened 7 months ago
相关问题: 针对AWS S3 API兼容性问题 · Issue #1559 · cloudreve/Cloudreve
根据 AWS S3 储存桶的命名规则: Bucket naming rules - Amazon Simple Storage Service
储存桶命名可以使用带有 . (小数点) 的字符, 但是使用带点字符后将无法使用主机格式路径访问文件, 因为这与 SSL 证书的许可域名发生冲突.
.
在 Cloudreve v3.8.4 中, 如果 S3 储存策略中的储存桶名称中含有点字符也将无法使用主机名格式的 HTTPS Endpoint 上传文件, 会强制使用路径格式. 如果使用 HTTP Endpoint 可以顺利使用主机名格式上传, 但是会遇到 HTTP 资源与 HTTPS 资源混用而又被浏览器安全策略禁止.
在使用 HTTPS Endpoint 的设置后使用路径格式, 生成直接链接时又会遇到 #1559 问题, 即直接链接中存在多余的储存桶名称, 导致设置 CDN 加速域名后生成的链接实际无效. 生成的直接链接为: https://cdn.example.com + /BUCKET/path/to/files.ext.
https://cdn.example.com
/BUCKET/path/to/files.ext
因此为针对这种情况, 建议:
https:/
/path/to/files.ext
/
https://
BUCKET/path/to/files.ext
根据 AWS S3 储存桶的命名规则: Bucket naming rules - Amazon Simple Storage Service
储存桶命名可以使用带有
.
(小数点) 的字符, 但是使用带点字符后将无法使用主机格式路径访问文件, 因为这与 SSL 证书的许可域名发生冲突.在 Cloudreve v3.8.4 中, 如果 S3 储存策略中的储存桶名称中含有点字符也将无法使用主机名格式的 HTTPS Endpoint 上传文件, 会强制使用路径格式. 如果使用 HTTP Endpoint 可以顺利使用主机名格式上传, 但是会遇到 HTTP 资源与 HTTPS 资源混用而又被浏览器安全策略禁止.
在使用 HTTPS Endpoint 的设置后使用路径格式, 生成直接链接时又会遇到 #1559 问题, 即直接链接中存在多余的储存桶名称, 导致设置 CDN 加速域名后生成的链接实际无效. 生成的直接链接为:
https://cdn.example.com
+/BUCKET/path/to/files.ext
.因此为针对这种情况, 建议:
https:/
为前缀就可以(不太优雅)地解决这个问题. 生成的直接链接则为:https:/
+/path/to/files.ext
./
. 生成的直接链接则为:https://
+BUCKET/path/to/files.ext
.