gpt4 book ai didi

NGINX 不传递响应 header

转载 作者:行者123 更新时间:2023-12-05 07:47:47 25 4
gpt4 key购买 nike

我有一个在端口 8080 上运行的 java spring 应用程序,这个应用程序应该返回一个 header “x-auth-token”,这个应用程序在 nginx 反向代理之后运行。

应用程序正确生成 header ,当我直接向它请求时(绕过 nginx):

http://169.54.76.123:8080

它以响应 header 集中的 header 进行响应

但是当我通过nginx反向代理发出请求时,header没有出现

https://169.54.76.123

nginx 处理 ssl 终止。

我的 nginx 配置文件

upstream loadbalancer {
server 169.54.76.123:8080 ;
}

server {
listen 169.54.76.123:80;
server_name api.ecom.com;
return 301 https://api.ecom.com$request_uri;
}
server {
listen 169.54.76.123:443 ssl;
keepalive_timeout 70;
server_name api.ecom.com;

ssl_certificate /etc/ssl/api_chained.cert ;
ssl_certificate_key /etc/ssl/api.key ;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 SSLv3 SSLv2;
ssl_ciphers ALL:!ADH:RC4+RSA:HIGH:!aNULL:!MD5;

charset utf-8;

location / {
proxy_pass http://loadbalancer/$request_uri ;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $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-Proto $scheme;
}

问题是:为什么 nGinx 不将“x-auth-token”传递给响应?

如何将其包含到响应中?

我试图获取变量中的值,但 nGinx 似乎没有:

我使用了 $sent_http_x_auth_token$upstream_htto_x_auth_token 但这些变量不包含任何值(我认为)

我尝试使用这些变量自己添加 header :

add_header x-auth-token $sent_http_x_auth_token; 没有成功

也尝试过:

add_header x-auth-token $upstream_http_x_auth_token; 也没有成功。

另外,我试过:

proxy_pass_header x-auth-token;

没有成功

问题是什么?我该如何调试它?哪一部分阻止或阻止“x-auth-header”?上游或代理还是什么?

感谢您的帮助

最佳答案

通常您应该做任何事情,因为 nginx 不会从响应中删除自定义 header 。

您可以使用 log_format 指令来跟踪请求的执行,例如使用类似的东西

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent '
'X-Auth-Token: "$sent_http_x_auth_token"';

access_log logs/access.log main;

在您的位置上下文中。

当您检查时,您是否收到确认请求成功的 200 响应代码?

关于NGINX 不传递响应 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39259693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com