Nginx-总是返回 403 状态代码

Nginx-总是返回 403 状态代码

我试图让 Nginx 返回一个简单的网页,但总是返回 403 的 http 状态代码。出于某种原因,我无法让它工作。我在 /var/www/html/ 中有两个文件:

  • 索引.html
  • 照片.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。如果我删除location这两个文件的块,则它们都不会显示,但它们的状态为 403。我的问题是:如何显示 html 文件以及图像,但只返回 403 状态?我觉得我错过了一些简单的东西。

答案1

您的location / {},包含 ,return 403;首先匹配。您应该将其移至另外两个下方。

祝腿部射击愉快!

相关内容