403 禁止 nginx (nginx/1.8.0)

403 禁止 nginx (nginx/1.8.0)

DigitalOcean に新しいサーバーを導入したばかりで、他にもいろいろ試してみたいと思っています。WordPress サイトを立ち上げたいので、ここから最初の 1 ~ 3 つの手順に従います。https://deliciousbrains.com/hosting-wordpress-yourself-nginx-php-mysql/最初はすべてがうまくいき、WordPress をインストールすることができました。残念ながら、現在私のサイトでは 403 Forbidden が発生しています。

私は Ubuntu 14.04 x64 を使用しています。すでにかなり長い間行き詰まっており、何が起こっているのかまだわかりません。Nginx を削除して再インストールしてみましたが、それでも同じです。

これが私の conf ファイルです:

ユーザー sylvia;
ワーカープロセス 1;
pid /run/nginx.pid;

イベント {
        ワーカー接続 1024;
        # multi_accept オン;
}

http {

        ##
        # 基本設定
        ##

        ファイル送信オン;
        tcp_nopush オン;
        tcp_nodelay オン;
        キープアライブタイムアウト15;
        タイプハッシュの最大サイズは2048です。
        # server_tokens オフ;
        クライアントの最大ボディサイズ 64m;

        # server_names_hash_bucket_size 64;
        # server_name_in_redirect をオフにします。

        /etc/nginx/mime.types を含めます。
        デフォルトタイプはアプリケーション/オクテットストリームです。

        ##
        # ログ設定
        ##

        アクセスログ /var/log/nginx/access.log;
        エラーログ /var/log/nginx/error.log;

        ##
        # Gzip設定
        ##

        gzip オン;
        gzip_disable "msie6";

        # gzip_vary オン;
        # gzip_proxied 任意;
        # gzip_comp_level 2;
        # gzip_buffers 16 8k;
        # gzip_http_バージョン 1.1;
        # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

        ##
        # 仮想ホスト設定
        ##

        /etc/nginx/conf.d/*.conf をインクルードします。
        /etc/nginx/sites-enabled/* を含めます。

       サーバー{
              80 default_server をリッスンします。
               サーバーの名前 _;
               444を返します。
                    }

何か案が?

答え1

おそらく、権限の問題です。www-data ユーザーに Web ルート ディレクトリにアクセスする権限を与えてください。または、所有権を与えることもできます。

chown -R www-data:www-data /path/to/your/directory

答え2

禁止とは、NGINX がファイルが保存されているディレクトリを開くことができないことを意味します。

NGINX error_logs には問題の正確な原因が記載されています。

ログは /var/logs/nginx/error_log に保存されます。ファイルを開いて最後の行に移動し、どのようなエラーが発生しているかを正確に確認してください。

理想的には、chmod 755 ディレクトリを実行すると問題が解決します。

答え3

私も 403 の問題が発生しましたが、これはディレクトリのモードが原因でした。

ルート ディレクトリをホームの下に設定し、ホーム ディレクトリのデフォルト モードは 600 です。

そしてこの記事を見つけましたhttps://gist.github.com/jhjguxin/6208474ルートディレクトリを 755 に変更してみると、問題は解決しました。

したがって、Ubuntu 12.04 のユーザー ホーム ディレクトリのデフォルトの権限は 700 であるようです。** Nginx には、提供されるファイルの読み取り権限と、ルートから提供されるファイルまでのパスに沿った各親ディレクトリの実行権限が必要です。**

次のコマンドを実行することで、ユーザーディレクトリにこれらの権限を与えることができます。

chmod 701 ユーザーホーム

多くのシステムのホーム ディレクトリのデフォルトのアクセス許可設定である 755 を使用することもできます。

nginx が実行されるユーザー/グループ (nginx.conf で定義) に、提供されるすべてのファイルに対する読み取り権限と、すべての Web ルート ディレクトリに対する実行権限がある限り、Web ルート内のディレクトリ/ファイルは www-data ユーザーまたは通常の個人ユーザーに属することができます。

答え4

単にディレクトリの内容を一覧表示したい場合は、autoindex on;次のようにします。

location /somedir {
       autoindex on;
}

関連情報