阿里云oss绑定了自定义域名后,下载链接中拼接了空间名。

Blade 未结 2 254
66001885
66001885 剑者 2024-08-08 14:40

一、该问题的重现步骤是什么?

1. 使用阿里云的oss存储;

2. 没有使用阿里云自带的域名,绑定了我们自己的域名;

3.上传正常文件正常,下载同一个文件时报错,检查后发现域名中加了空间名,例如http://空间名.abc.xxx.com,正确的域名应该是http://abc.xxx.com。


二、你期待的结果是什么?实际看到的又是什么?

如何解决次问题。


三、你正在使用的是什么产品,什么版本?在什么操作系统上?

bladex4。


四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。


2条回答
  • 2024-08-08 16:54

    逻辑代码在这里:https://center.javablade.com/blade/BladeX-Tool/src/branch/master/blade-starter-oss/src/main/java/org/springblade/core/oss/AliossTemplate.java#L331

    可以先自己改造成下面的逻辑,然后tool工程执行mvn clean install,这样自定义域名就不会增加二级域名了,但我们还是推荐自建域名也是类似阿里云的格式,也增加一个阿里云对应的空间名到自定义域名,然后做映射。

    /**
     * 获取域名
     *
     * @param bucketName 存储桶名称
     * @return String
     */
    public String getOssHost(String bucketName) {
        if (StringUtil.isNotBlank(ossProperties.getTransformEndpoint())) {
           return ossProperties.getTransformEndpoint();
        }
        String prefix = getEndpoint().contains("https://") ? "https://" : "http://";
        return prefix + getBucketName(bucketName) + StringPool.DOT + getEndpoint().replaceFirst(prefix, StringPool.EMPTY);
    }


    作者追问:2024-08-08 17:16

    “但我们还是推荐自建域名也是类似阿里云的格式,也增加一个阿里云对应的空间名到自定义域名”

    域名格式改成这样吗?https://空间名.xxx.com

    回答: 2024-08-08 17:17

    https://空间名.oss.yourdomain.com

    作者追问:2024-08-08 17:30

    域名此https://空间名.oss.yourdomain.com格式不行,会变成https://空间名.空间名.oss.yourdomain.com

    回答: 2024-08-08 17:31

    你去映射https://空间名.oss.yourdomain.com,然后在oss模块配置外网连接为https://oss.yourdomain.com,空间名会自动加上

    作者追问:2024-08-08 17:40

    “你去映射https://空间名.oss.yourdomain.com”

    没看懂,如何映射?阿里云oss自定义域名是做一个CNAME解析,oss.yourdomain.com解析至阿里云自带的域名上。

    回答: 2024-08-08 17:46

    原本你怎么映射现在就怎么映射,只不过映射的时候比你预想的多一层级罢了。

    阿里云原版能有空间名,你自己域名也能设置。你映射的时候就映射这个https://空间名.oss.yourdomain.com。

    然后你在后端配置oss的时候,有一个外网域名的配置项,你配置https://oss.yourdomain.com,这样程序后台会自动加上空间名,上传后返回的就是https://空间名.oss.yourdomain.com,那么跟你最开始映射的地址就是一样的,就能访问了。

    如果你还不明白,就去改源码,已经给你地址了。

    0 讨论(0)
  • 2024-08-08 17:47

    明白了,我试一试

    0 讨论(0)
提交回复