Problème de configuration de la directive proxy de configuration Nginx
迷茫
迷茫 2017-05-16 17:08:21
0
2
623
server {
    listen       80;

    server_name  mydomain.com;

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

}

Comme ci-dessus, lorsque proxy_set_header est défini sur le même nom que le nom du serveur, une erreur 502 se produit.

la pile d'erreurs est la suivante :

Connexion en amont fermée prématurément lors de la lecture de l'en-tête de réponse depuis l'amont, client : 127.0.0.1, serveur : mondomaine.com, requête : "GET /xx HTTP/1.0", en amont : "http://127.0.0.1:80/xx" , hébergeur : "mondomaine.com

Je suis perplexe, quelle pourrait en être la raison ?


Lorsque je mets à jour le port proxy, par exemple en le changeant de 80 à 81 proxy_pass http://myproxy.com:81;

À ce stade, cela peut fonctionner normalement. (Mon précédent myproxy.com était Listen 80. Maintenant, il est devenu 81.)

Mais pourquoi ?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

répondre à tous(2)
大家讲道理

Votre amont a disparu

習慣沉默

Installation CentOS7 et maintenance de Nginx, scénarios d'utilisation courants

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;    
  } 
}

ou ce formulaire

upstream server-a{
    # api 代理服务地址
    server 127.0.0.1:80;    
}
server {
    listen       80;
    server_name  mydomain.com;      # 这里指定域名
    # 匹配 api 路由的反向代理到API服务
    location ^~/ {
        rewrite ^/(.*)$ / break;
        proxy_pass http://server-a;
    }
}
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal