web-dev-qa-db-ja.com

Nginx-Alwaysは常に403ステータスコードを返します

Nginxに単純なWebページを返させようとしていますが、常にhttpステータスコード403が返されます。なんらかの理由で、動作しません。/var/www/html /に2つのファイルがあります。

  • index.html
  • photo.jpg

index.htmlは、photo.jpgとともにいくつかのテキストを表示します

これが私のNginx設定です:

server {
        listen 80 default_server;
        listen [::]:80 default_server;

        root /var/www/html;

        index index.html index.htm index.nginx-debian.html;

        server_name _;

        location / {
                return 403;
         }

        error_page 404 /index.html;
        error_page 403 /index.html;

        location = /index.html {
                 allow all;
       }

        location = /photo.jpg {
                allow all;
        }
}

この構成をそのまま使用すると、index.htmlとphoto.jpgの両方がステータス200で表示されます。これら2つのファイルのlocationブロックを削除すると、どちらも表示されませんが、ステータスは403になります。 。私の質問は次のとおりです。どうすれば画像と共にhtmlファイルを表示できますが、ステータス403を返すことができますか?シンプルなものが足りないような気がします。

1
bcst

location / {}を含むreturn 403;が最初に一致します。他の2つの下に移動する必要があります。

ハッピーレッグシューティング!

5
drookie