【问题标题】:Forbidden 403 - Rails App禁止 403 - Rails 应用程序
【发布时间】:2012-09-01 12:59:03
【问题描述】:

我们将不胜感激 - 不断收到 Forbidden 403 错误。 Nginx 配置:

listen       80;
server_name  www.xxx.com;   
passenger_enabled   on;
#charset koi8-r;
#access_log  logs/host.access.log  main;
root   /home/deploy/xxx.com/current;

我已经使用 Capistrano 进行了部署,并且成功(cap deploy) 从我尝试过的那些人那里,我用谷歌搜索并没有找到太多帮助。 其次,我删除了我的“公共”文件夹,并在 routes.rb 中启用了我的“路由”。

root to: 'static_pages#home'

最初我有“public”文件夹,但它一直转到“index.html”,而不是 Rails /Home。我已经在本地尝试过,它与 localhost:3000 上的“rails 服务器”完美配合。

似乎 NGINX 现在不知道如何查找或提供 Rails 页面了。

附言。我确实审查了 StackOverflow,但运气不好。

任何帮助将不胜感激。

【问题讨论】:

  • 我猜root /home/deploy/xxx.com/current;这一行应该是root /home/deploy/xxx.com/current/public;
  • 是的,如上所述:)我删除了“public”,因为它一直引用不正确的 index.html。
  • 你删除了index.html吗?如果没有,您应该删除该文件。
  • 好的,我试试,一会儿告诉你
  • 不错的尝试,但没有运气 - 如果“public”存在,它似乎仍在寻找“index.html”cries

标签: ruby-on-rails ruby ruby-on-rails-3.1 nginx capistrano


【解决方案1】:

Yihhaaaaa 好的,明白了!

问题似乎是 cmets 中提到的两件事:

(a) 预编译错误; “图像”未加载。走进
config/environments/production.db 并为资产打开“true” 编译。

(b) 第二件事是因为我在 Mac OS X 上开发,默认包含 Javascript 运行时,而我的生产 Ubuntu 不是这样。所以我添加到 GemFile - gem "therubyracer"。

你知道它有效吗! 关键在于查看 production.log (/home/deploy/xxx.com/current/log/)。 这将说明一切。

干杯

【讨论】:

    【解决方案2】:

    与此错误有关的原因有多种,请查看此帖子了解更多详细信息:http://thelazylog.com/posts/how-to-fix-403-fobidden-issue-on-nginx-rails-application

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-26
      • 2019-11-29
      相关资源
      最近更新 更多