来自 AWS Elastic Beanstalk 的 Mime 类型错误

Posted

技术标签:

【中文标题】来自 AWS Elastic Beanstalk 的 Mime 类型错误【英文标题】:Mime Type error from AWS Elastic Beanstalk 【发布时间】:2021-04-14 06:59:18 【问题描述】:

我将我的 django 项目部署到 aws elastic branstalk。我遵循了所有步骤。在 EBS 控制台中,项目运行状况似乎还可以。当我尝试运行该项目时,出现以下错误。 `拒绝应用来自 '' 的样式,因为它的 MIME 类型 ('text/html') 不是受支持的样式表 MIME 类型,并且启用了严格的 MIME 检查。

这是我的css和js地址:

<link rel="stylesheet" href="% static 'css/bootstrap.min.css' %" />

<script src="%static 'js/jquery.min.js'%"></script>

我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

首先,您必须转到 settings.py 并执行以下操作:

设置DEBUG = False(默认安装自带DEBUG = True) 添加 STATIC_ROOT = 'static'

然后你必须告诉 EB 你的静态文件在哪里。为此,在根目录下的 .ebextensions 文件夹中创建一个名为 staticfiles.config 的文件(可以是任何带有 .config 扩展名的名称)。写在里面:

container_commands:
  collectstatic:
    command: "source /var/app/venv/*/bin/activate && python3 manage.py collectstatic --noinput"
option_settings:
  aws:elasticbeanstalk:environment:proxy:staticfiles:
    /static: static

就是这样。我对文档感到非常困惑,甚至官方教程都是错误的。经过大量的研究和尝试,这就是我想出的解决方案。

【讨论】:

以上是关于来自 AWS Elastic Beanstalk 的 Mime 类型错误的主要内容,如果未能解决你的问题,请参考以下文章

AWS Elastic Beanstalk 和每当 Gem

使用 AWS Elastic Beanstalk 部署 Rails ActionCable

Rails - AWS(Elastic Beanstalk)部署,错误命令“git clone”

将流量从 Ionos 域转发到 AWS Elastic Beanstalk

AWS Elastic Beanstalk 中的工作人员“dyno”

无法访问此站点以获取 AWS Elastic Beanstalk 环境 URL