问题
nginx 版本 1.12.1
请求nginx代理的接口,发现没有返还值。
使用Postman可以发现没有任何响应内容,并且状态码为400。
检查Nginx的错误日志,发现错误日志为空。
tail -n 100 -f /var/log/nginx/error.log
通过查看访问日志发现
tail -n 100 -f /var/log/nginx/access.log
172.22.25.102 - - [22/Dec/2018:19:07:56 +0800] "GET /get/11 HTTP/1.1" 400 5 "-" "PostmanRuntime/7.4.0" "-"
解决
检查配置,后发现原来是因为upstream
名称中不能包含下划线“_
”,去除下划线就可以。
我的配置如下:
upstream get_demo {
server 127.0.0.1:8080;
server 127.0.0.1:8081;
}
server {
listen 80;
location / {
proxy_pass http://get_demo;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
把get_demo
改为GetDemo
问题解决。