这是我的 nginx.conf
events {
}
http {
server {
listen 80;
rewrite_log on;
if ($http_x_forwarded_proto = "http") {
return 302 https://$host$request_uri;
}
location /.health {
return 200 'OK';
}
location /.status {
stub_status;
server_tokens on;
}
location ~ ^\/([^.][^\/]*)(.*)$ {
proxy_pass http://$1.$DISCOVER$2$is_args$args;
}
}
}
这个配置显然返回静态响应,/.health
并且没有其他路由,怎么会出现这个错误?nginx 从来没有被指示去寻找文件。
[error] 16#16: *2 open() "/usr/share/nginx/html/_health" failed (2: No such file or directory), client: 10.0.1.21, server: localhost, request: "GET /_health HTTP/1.1", host: "10.0.0.241"
答案1
看来我在正确放置 nginx.conf 文件方面出现了问题。我太专注于路由逻辑而没有注意到,但主要证据是默认 nginx.conf 中有一个 nginx 欢迎页面。