我使用 nginx 作为反向代理。我尝试为每个请求添加一个请求标头,因此我尝试:
location / {
proxy_pass some.host.com;
proxy_set_header MY_HEADER somename;
}
但是标头未添加到请求中(至少我在 F12 调试器工具 - 请求标头或 Postman 中看不到它)。
我有一个客户端,我想在那里显示来自另一个应用程序的仪表板的 iframe。我需要向该应用程序发送包含我的用户名的请求标头以传递身份验证。所以我想到了一个反向代理,其中 iframe 指向反向代理并且代理添加请求标头。
有什么想法我可以如何将请求标头附加到每个请求?
答案1
这确实添加了标头,但由于它发生在服务器端,因此您不会在浏览器(客户端)中看到它。如果您想确保标头已添加到代理请求中,可以快速检查:
让 netcat 监听你服务器上 nginx 所在的某个临时端口
nc -lvp 40200
一旦监听,修改你的nginx.conf
指向监听的 netcat 实例
proxy_pass 127.0.0.1:40200;
重启 nginx
systemctl restart nginx
然后转到浏览器中的 nginx 端点,你将在 stdout 上看到完整的 HTTP 请求