gpt4 book ai didi

Nginx:为什么 index 指令不起作用,403 forbidden?

转载 作者:行者123 更新时间:2023-12-04 18:31:29 28 4
gpt4 key购买 nike

nginx.conf 如下:

user  www-data;
worker_processes 1;

error_log logs/error.log;
error_log logs/error.log notice;
error_log logs/error.log info;

events {
worker_connections 1024;
}
http {
server {
listen 8080;
server_name example.com;
root /tmp/test/example;

location = / {
index index.html;
}

location / {
root /tmp/test/mydomain;
}
}
}

errors.log 是:
2016/03/22 23:07:56 [error] 17763#0: *1 "/tmp/test/example/"目录索引被禁止,客户端:127.0.0.1,服务器:example.com,请求:"GET/HTTP/1.1", host: "example.com:8080"

但是当我注释行 root/tmp/test/example 时,它工作正常。所以我想知道 index 重定向是如何工作的?

最佳答案

在我看来,您在 /tmp/test/example 目录中没有 index.html 文件。

您的 location =/ block 测试是否存在文件 (index.html),如果不存在,则生成 403 响应。

URI 被重写为/index.html 后,它实际上是由您的location/ block 处理的。

我怀疑当您删除第一个 root 指令时它起作用的原因是因为默认(或全局)root 接管了“欢迎使用 nginx”的位置index.html 文件所在。因此,它通过了存在性测试,然后为您的文件提供服务。

我应该补充一点,以上主要是根据您的观察和我的实验进行的猜测。

关于Nginx:为什么 index 指令不起作用,403 forbidden?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36158453/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com