【发布时间】:2017-02-20 18:58:10
【问题描述】:
我正在尝试将 Rails 应用程序部署到 Apache 服务器上。我正在尝试通过以下方式访问应用程序资产文件夹中的 jquery:
<script src="/assets/jquery.js" type="text/javascript"></script>
我还尝试使用 javascript_include_tag 加载自定义脚本。当我查看 Web 浏览器的 javascript 控制台时,我看到服务器在尝试访问这些脚本时响应了 403 禁止错误代码。
我尝试 chmod 775 我的 /var/www//public/assets 文件夹,但这并没有解决问题。我已经尝试过运行 rake assets:precompile 和更改 production.rb 以提供静态文件并将 config.assets.compile 设置为 true。
【问题讨论】:
-
之所以有效,是因为您已经覆盖了应用程序以允许“如果预编译资产丢失,则回退到资产管道”这告诉您,即使您预编译了资产,应用程序配置中的其他内容也是错误的。这样做并只是覆盖它只会掩盖症状,并且很可能会在您前进时引起更多问题。更不用说安全隐患了。我建议您查看您的 config/initializers/assets.rb 并确保如果您使用的是 rails 5,所有内容都已正确设置。
标签: ruby-on-rails apache passenger http-status-code-403