Nginx 設定proxy指令設定問題
迷茫
迷茫 2017-05-16 17:08:21
0
2
563
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 ?

迷茫
迷茫

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

全部回覆 (2)
大家讲道理

你的upstream不見了

    習慣沉默

    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 ^/(.*)$ / break; proxy_pass http://server-a; } }
      最新下載
      更多>
      網站特效
      網站源碼
      網站素材
      前端模板
      關於我們 免責聲明 Sitemap
      PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!