S3和CloudFront上托管的ASP.Net Core 2.2 wwwroot静态内容

时间:2019-07-04 02:56:51

标签: asp.net-core amazon-s3 amazon-cloudfront static-content wwwroot

我正在使用ASP.Net Core 2.2,并且想在由CloudFront服务的AWS S3上托管wwwroot静态内容。尚未在Google上找到任何内容,因此在此处发布了问题。我熟悉AWS S3和Cloudfront。我只需要了解如何/在ASP.Net Core剃须刀应用程序中进行更改。任何建议和见识都将受到赞赏。

1 个答案:

答案 0 :(得分:0)

我通过在服务器(IIS)中使用重写规则解决了该问题。
为此,您需要在web.config的system.webServer部分下添加一个新的IIS Url Rewrite模块规则。
另外,如果您将应用程序托管在Apache / Nginx中,则可以使用服务器特定的语法基于配置文件来配置重定向规则。
以下是一个示例规则,它将所有以“媒体”开头的资源重定向到CloudFront发行版。

<rewrite>
  <rules>
    <rule name="Media to CDN" patternSyntax="Wildcard" stopProcessing="true">
      <match url="media/*" />
      <action type="Redirect" url="https://<my_cloudfront_id>.cloudfront.net/media/{R:1}" appendQueryString="true" />
    </rule>
  </rules>
</rewrite>