如何让 Strapi 识别指向 S3 存储桶的自定义域?
How to make Strapi recognize custom domain pointing to an S3 bucket?
我正在使用 S3 存储桶通过 strapi-provider-upload-aws-s3 插件存储静态资产。此外,我有一个自定义域通过 SSL 指向该存储桶。基本上,https://my.domain.com/photo.jpg points to https://s3.amazonaws.com/my.domain.com/photo.jpg。有没有办法让插件知道这一点,所以它会自动将 URLs 从 s3.amazonaws.com/my.domain.com 更改为只是 my.domain.com 在更新包含 URL?
的字段之前
如果通过简单的配置或仪表板无法做到这一点,是否有任何方法可以调整代码本身以合并此功能?如果是这样(我强烈希望有),如果要走这条路,哪个文件包含这个逻辑?
我认为在您的情况下,最好的方法是更新插件上传本身 (./plugins/upload)。
目前没有满足您需求的定制。
为此,您必须更新 findAll
函数并在 map
中手动更换主机,然后再发送数据。
您必须更换 url 以满足您的需要。
我运行陷入同样的问题,但经过大量研究,你可以做下一个:
首先使用自定义域的名称配置一个 S3 存储桶,例如:static.yourdomain.com
并在 S3 设置中将其设置为静态托管,在您的 strapi S3 提供商配置中放置下一个:
providerOptions: {
accessKeyId: process.env.AWS_ACCESS_KEY_ID || '',
secretAccessKey: process.env.AWS_ACCESS_SECRET || '',
region: 'us-east-1',
endpoint: 'static.yourdomain.com',
s3BucketEndpoint: true,
params: {
Bucket: 'static.yourdomain.com'
},
}
在您的 DNS 中创建一个指向 s3 public 域的 CNAME static.yourdomain.com
,但技巧如下:
而不是这个:
static.yourdomain.com.s3-website-us-east-1.amazonaws.com
放这个:
static.yourdomain.com.s3.amazonaws.com
我正在使用 S3 存储桶通过 strapi-provider-upload-aws-s3 插件存储静态资产。此外,我有一个自定义域通过 SSL 指向该存储桶。基本上,https://my.domain.com/photo.jpg points to https://s3.amazonaws.com/my.domain.com/photo.jpg。有没有办法让插件知道这一点,所以它会自动将 URLs 从 s3.amazonaws.com/my.domain.com 更改为只是 my.domain.com 在更新包含 URL?
的字段之前如果通过简单的配置或仪表板无法做到这一点,是否有任何方法可以调整代码本身以合并此功能?如果是这样(我强烈希望有),如果要走这条路,哪个文件包含这个逻辑?
我认为在您的情况下,最好的方法是更新插件上传本身 (./plugins/upload)。 目前没有满足您需求的定制。
为此,您必须更新 findAll
函数并在 map
中手动更换主机,然后再发送数据。
您必须更换 url 以满足您的需要。
我运行陷入同样的问题,但经过大量研究,你可以做下一个:
首先使用自定义域的名称配置一个 S3 存储桶,例如:static.yourdomain.com
并在 S3 设置中将其设置为静态托管,在您的 strapi S3 提供商配置中放置下一个:
providerOptions: {
accessKeyId: process.env.AWS_ACCESS_KEY_ID || '',
secretAccessKey: process.env.AWS_ACCESS_SECRET || '',
region: 'us-east-1',
endpoint: 'static.yourdomain.com',
s3BucketEndpoint: true,
params: {
Bucket: 'static.yourdomain.com'
},
}
在您的 DNS 中创建一个指向 s3 public 域的 CNAME static.yourdomain.com
,但技巧如下:
而不是这个:
static.yourdomain.com.s3-website-us-east-1.amazonaws.com
放这个:
static.yourdomain.com.s3.amazonaws.com