1

nginx とパッセンジャー上で実行されている 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"

この問題は、nginx を root で実行しても発生するので、パーミッションの問題ではないと思います。問題は、nginx.conf ファイルを持っていない、passenger_rubyまたは定義していないことだと思います。passenger_root問題は、これらの値が構成ファイルのどこにあるのかわからないことと、それらの値がどうあるべきかがわからないことです。どんな助けでも素晴らしいでしょう。参照用の私のconfファイルは次のとおりです。

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 は起動に失敗しますが、エラー メッセージは生成されません。

4

3 に答える 3

1

Forbidden は、許可の問題があることを意味します。ディレクトリとファイルのアクセス許可を確認して、Web サーバーが読み取りできるようにします。

于 2013-05-10T01:14:04.343 に答える