首页 > 解决方案 > 在 NGINX 中重定向时添加请求标头

问题描述

我有一个简单的重定向规则,比如

location = /redirect-me {
    return 307 http://localhost:3001/redirect-me;
}

将对redirect-meurl 进行 POST 调用,我要做的就是将 post 调用重定向到另一台服务器。

但是我怎样才能将 X-Header 添加request header到 http://localhost:3001/。

我都试过了add_headerproxy_set_headeradd_header将标头添加到响应标头而不是请求标头

location = /redirect-me {
    add_header 'X-Header-a' 'cust_info';
    proxy_set_header 'X-Header-p' 'cust_info';
    return 307 http://localhost:3001/redirect-me;
}

并且proxy_set_header没有添加任何东西。

那么如何在使用 307 重定向时向请求中添加标头。?

标签: httpnginxroutes

解决方案


使用proxy_pass指令而不是重定向。我为文档提供了下面的链接,其中包括设置标题的示例。

location /redirect-me {
    proxy_set_header 'X-Header-p' 'cust_info';
    proxy_pass http://localhost:3001/redirect-me;
}

https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/


推荐阅读