我试图让 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;
首先匹配。您应该将其移至另外两个下方。
祝腿部射击愉快!