server {
listen 80;
server_name mydomain.com;
location / {
proxy_pass http://myproxy.com:80;
proxy_set_header Host mydomain.com; #设置为跟server name 一样
}
}
如上,当proxy_set_header 设置为跟server name 一样的时候,出现502错误。
error stack如下:
upstream prematurely closed connection while reading response header from upstream, client: 127.0.0.1, server: mydomain.com, request: "GET /xx HTTP/1.0", upstream: "http://127.0.0.1:80/xx", host: "mydomain.com
百思不得其解,这个会是什么原因呢?
当我更新proxy的端口,如从80改为81 proxy_pass http://myproxy.com:81;
此时,是可以正常工作的。(我之前的myproxy.com就是listen 80。现在改为81。)
But why ?
你的upstream不见了
CentOS7安装维护Nginx,常见使用场景
或者下面这种形式