首页 > 解决方案 > Dockerized nginx 重定向回客户端而不是代理到上游

问题描述

我在容器中运行 nginx 时遇到问题。它重定向所有不是 GET 请求的请求。因此上游服务器无法接收任何发布数据。

下面是我的服务器配置

events {
    worker_connections  1024;
}

http {

    # access_log logs/access.log;
    # error_log logs/errors.log;

    # proxy_redirect off;
    proxy_set_header   Host $http_host;
    proxy_set_header   X-Real-IP $remote_addr;
    proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header   X-Forwarded-Host $server_name;    


    upstream auth {
        server auth:5001;
    }

    upstream stores {
        server 127.0.0.1:5002;
    }

    server {
        listen 5000;
        server_name localhost;
        location / {
           access_log off;
           return 200 "welcome to face4biz";
        }
        include /etc/nginx/conf.d/*.conf;
    }
}

这里还有一个用于身份验证上游服务的示例位置指令

location /auth/login/ {
    proxy_pass http://auth;
    # proxy_redirect off;
    # proxy_set_header   Host $http_host;
    # proxy_set_header   X-Real-IP $remote_addr;
    # proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
    # proxy_set_header   X-Forwarded-Host $server_name; }

标签: dockernginx

解决方案


事实证明 API 网关仅在 nginx plus 中受支持


推荐阅读