Node.js 从我的网站上的URL提供AWS S3图像';s主域

Node.js 从我的网站上的URL提供AWS S3图像';s主域,node.js,amazon-web-services,express,amazon-s3,Node.js,Amazon Web Services,Express,Amazon S3,是否可以从我网站主域的URL提供AWS S3图像 我的网站是一个运行在URL上的Express应用程序,如。我正在使用AWS S3来托管我的站点的图像。但我不想使用原始的S3 URL,而是希望使用位于我的主域上的URL,如下所示: 我读过的大多数文章都涉及到为子域使用CNAME记录,或者在S3上托管整个站点,这两者都不是我想要做的。您可以使用AWS Cloudfront和AWS Route 53创建DNS记录,并与AWS S3结合使用 在这里,我附加了一个教程: 如果你有问题,你可以告诉

是否可以从我网站主域的URL提供AWS S3图像

我的网站是一个运行在URL上的Express应用程序,如。我正在使用AWS S3来托管我的站点的图像。但我不想使用原始的S3 URL,而是希望使用位于我的主域上的URL,如下所示:


我读过的大多数文章都涉及到为子域使用CNAME记录,或者在S3上托管整个站点,这两者都不是我想要做的。

您可以使用AWS Cloudfront和AWS Route 53创建DNS记录,并与AWS S3结合使用

在这里,我附加了一个教程:


如果你有问题,你可以告诉我问题所在,我可以帮助你,因为教程很旧。

据我所知,你想要一个url,如:

如果您不想使用S3来托管您的网站,那么在这种情况下,您可以创建一个bucket策略
S3:GetObject
权限,并使用
AWS:Reference
键来通知GetObject请求必须来自特定网站

以下是示例bucket策略:

{
  "Version":"2012-10-17",
  "Id":"http referer policy example",
  "Statement":[
    {
      "Sid":"Allow get requests originating from www.example.com and example.com.",
      "Effect":"Allow",
      "Principal":"*",
      "Action":"s3:GetObject",
      "Resource":"arn:aws:s3:::examplebucket/*",
      "Condition":{
        "StringLike":{"aws:Referer":["http://www.example.com/*","http://example.com/*"]}
      }
    }
  ]
}
有关更多信息,请阅读

希望这有帮助


谢谢

对于动态内容,您可以使用AWS API创建一个函数,将内容上载到S3存储桶,并通过cdn url使用资源,例如,这些说明用于在子域上设置cdn。我如何从我的主要领域提供图像服务?我想提供来自,而不是来自@BrayanCaldera的图片。这里的答案应该是独立的,而不是引用非现场链接。谢谢。我更感兴趣的是如何设置图像URL本身,而不是请求来自何处。我希望图像URL是,但我不需要限制请求的来源。