Maison > Questions et réponses > le corps du texte
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 ?
習慣沉默2017-05-16 17:10:21
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;
}
}