重定向到精简集群时,Nginx 无法正确重写

重定向到精简集群时,Nginx 无法正确重写

这是我的 nginx 配置:

upstream local_thin_cluster {
    server 127.0.0.1:3000;
    server 127.0.0.1:3001;
}

server {
    #listen   80;

    access_log /usr/share/redmine/log/nginx_access.log;
    error_log  /usr/share/redmine/log/nginx_error.log;

    root    /usr/share/redmine/public;
    proxy_redirect  off;

    location / {
        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;

        try_files $uri $uri/index.html $uri.html @cluster;
    }

    location @cluster {
        proxy_pass http://local_thin_cluster ;
    }
}

我遇到的问题是,在 Web 应用程序(redmine)中登录重定向后,我得到了地址http://local_thin_cluster/my/page

瘦服务器上一切都运行正常。

我该如何修复它,以便它重定向到它接收请求的同一个 server_name/ip。我可以通过输入 IP 来修复它,但local_thin_cluster我不想对 server_name/ip 进行硬编码,因为我需要在几台机器上安装它,并且需要尽可能简单的配置。

答案1

一旦我将 @proxy_redirect off;@ 移至 @location@ ​​部分,它就开始工作了。

相关内容