Nginx + Passenger + Rails - 403禁止

时间:2013-07-08 20:55:27

标签: ubuntu nginx passenger ruby-on-rails-4 ruby-2.0

有很多人有相同或类似的问题,但他们都解决了不同的解决方案。我很难搞清楚我的设置有什么问题。

我刚安装了Nginx 1.4.1,Passenger 4.0.7,Ruby 2.0.0p247和Rails 4.0.0。

注意:

  • 我已经安装了nginx @ /home/deployer/nginx
  • 我正在使用rubyenv
  • CNAME的{​​{1}}记录指向www.example.com

我在myapp.cloud.com

的末尾添加了此块
~/nginx/conf/nginx.conf

我在server { listen 80; server_name www.example.com; root /home/deployer/sites/www.example.com/public; passenger_enabled on; } 中有一个public符号链接指向/home/deployer/sites/www.example.com

我有两个问题:

  1. 如果我没有为我的rails应用设置默认的/home/deployer/src/myapp/gateway/public/路由,那么当我访问网站的根目录时,我看不到标准的root页面。相反,我一直在获取Rails Welcome页面。但是,如果我在403 Forbidden文件夹中添加index.html,我确实会看到该页面在我去public

  2. 时呈现
  3. 如果我将默认http://www.example.com/路由设置为root,那么当我转到我的网站根目录时,我看不到正在呈现控制器操作。相反,这是我在controller#action中遇到的错误:


  4. ~/nginx/logs/error.log

    只是在案例中,这是我的完整2013/07/08 19:57:05 [error] 34157#0: *1 directory index of "/home/deployer/sites/www.example.com/public/" is forbidden, client: 76.XX.XX.29, server: www.example.com, request: "GET / HTTP/1.1", host: "www.example.com" 文件:

    nginx.config

1 个答案:

答案 0 :(得分:2)