suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Problem mit der Einstellung der Nginx-Konfigurations-Proxy-Anweisung

server {
    listen       80;

    server_name  mydomain.com;

    location /  {
        proxy_pass  http://myproxy.com:80;
        proxy_set_header Host    mydomain.com; #设置为跟server name 一样
    }
  

}

Wie oben tritt ein 502-Fehler auf, wenn der Proxy_set_header auf den gleichen Servernamen eingestellt ist.

Fehlerstapel ist wie folgt:

upstream hat die Verbindung vorzeitig geschlossen, während der Antwortheader vom Upstream gelesen wurde, Client: 127.0.0.1, Server: mydomain.com, Anfrage: „GET /xx HTTP/1.0“, Upstream: „http://127.0.0.1:80/xx“ , Host: „mydomain.com

Ich bin verwirrt, was könnte der Grund dafür sein?


Wenn ich den Proxy-Port aktualisiere, z. B. indem ich ihn von 80 auf 81 ändere, Proxy-Pass http://myproxy.com:81;

An diesem Punkt kann es normal funktionieren. (Mein vorheriges myproxy.com war 80. Jetzt ist es 81.)

Aber warum?

迷茫迷茫2741 Tage vor603

Antworte allen(2)Ich werde antworten

  • 大家讲道理

    大家讲道理2017-05-16 17:10:21

    你的upstream不见了

    Antwort
    0
  • 習慣沉默

    習慣沉默2017-05-16 17:10:21

    CentOS7安装维护Nginx,常见使用场景

    server {
      listen 80;
      server_name mydomain.com;
        
      location / {
        proxy_pass http://127.0.0.1:80;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host  $http_host;    
      } 
    }
    

    或者下面这种形式

    upstream server-a{
        # api 代理服务地址
        server 127.0.0.1:80;    
    }
    server {
        listen       80;
        server_name  mydomain.com;      # 这里指定域名
        # 匹配 api 路由的反向代理到API服务
        location ^~/ {
            rewrite ^/(.*)$ /$1 break;
            proxy_pass http://server-a;
        }
    }

    Antwort
    0
  • StornierenAntwort