AWS Elastic Beanstalk with Rails,编译的资产未加载



在部署到弹性 beanstalk 时,几乎所有资产都出现了 400 个错误。

导轨 v 4.2

我正在考虑应用符号链接或创建复制扩展的想法,但我真的不应该这样做。

EB使用nginx,我确认nginx正在提供公共/资产和公共目录。

我可以将文件移动到公共/资产,它不会再出错。

此外,应用程序直接在 ec2 实例上运行没有问题。

我注意到当我渲染页面时,浏览器没有尝试加载我的资产的编译版本(例如:application-03f1fea523795448f85cf1cf62e62e6f.css(。它尝试加载不在公共/资产目录中的未编译文件。

有什么想法吗?

我有同样的问题。只想分享我的想法。

当我在EB环境属性中RACK_ENV=developmentRAILS_SKIP_ASSET_COMPILATION=false时,它对应于Rails应用程序中config/environments/development.rb的配置文件。

看起来当我从浏览器访问应用程序时,它会预编译资产两次(EB 预编译脚本和运行时资产编译(,因此资产哈希手指将不匹配。结果,404 资产错误。

最新更新