簡體   English   中英

403在使用Nginx + Rails + Passenger時禁止

[英]403 Forbidden when using nginx + rails + passenger

當我嘗試訪問在Nginx和passenger之上運行的rails應用程序時,我得到了403。 這是日志文件中的錯誤:

2013/05/09 13:52:34 [error] 27787#0: *1 directory index of "/var/www/Tread-Forth/current/public/" is forbidden, client: 192.249.16.60, server: treadforth.com, request: "GET / \
HTTP/1.1", host: "www.treadforth.com"

即使當我以root用戶身份運行nginx時,也會出現此問題,因此我認為這不是權限問題。 我認為問題在於我的nginx.conf文件中沒有定義passenger_rubypassenger_root 問題是,我不知道這些值在配置文件中的位置,也不知道它們的值應該是什么。 任何幫助都會很棒。 這是我的配置文件供參考:

worker_processes  1;

events {
    worker_connections  1024;
}


http {
    #passenger_root /usr/local/bin/passenger;
    #passenger_ruby /usr/local/bin/ruby;

    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    server {
        listen       80;
        server_name  .treadforth.com;
        root /var/www/Tread-Forth/current/public;
        passenger_enabled on;
    }
}

您可以看到我嘗試過的注釋掉的passenger_root和passenger_ruby版本。 當我取消注釋時,nginx無法啟動,但不會產生任何錯誤消息。

您可以檢查乘客的安裝與道路passenger-config --root和Ruby安裝使用的路徑which ruby

要查找passenger_root的路徑:
$ passenger-config --root

要找到passenger_ruby的路徑,請運行以下命令,您會看到passenger_ruby路徑
$ passenger-config --ruby-command

禁止表示您有權限問題。 檢查您的目錄和文件權限,以便您的Web服務器可以讀取它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM