【发布时间】:2022-06-10 23:59:57
【问题描述】:
我正在尝试在 NGINX 中为在 NGINX 中运行的应用程序分配一个授权标头。我看到了我添加的其他标头,但从来没有看到 Authorization 标头。谁能告诉我我错过了什么?这是我的配置的样子。
underscores_in_headers on;
server {
listen 80;
root /usr/share/nginx/html;
index index.html index.htm;
location /api/app/ {
add_header "Access-Control-Expose-Headers" "Authorization";
add_header "Access-Control-Allow-Headers" "Authorization";
add_header "Authorization" "Something here, doesn't seem to matter what I put";
try_files $uri $uri/ /api/app/index.html;
}
}
添加到这个问题。我在我们的 Kubernetes 集群中运行了一个类似的构建。那个只是没有任何 add_header 行。集群正在使用 NGINX 入口。我在没有下划线的情况下将值硬编码到 Authorization 标头以进行测试。在集群中,除了 Authorization 之外,所有的 headers 都会传递给应用程序。
【问题讨论】:
-
您的请求的响应码是什么?如果不添加 always 参数,
add_header将仅适用于 200、201、204、206、301、302、303、304 或 307 -
响应代码总是返回 200。两个 Access 标头显示得很好,我尝试了其他几个运行良好的标头。它只是未填充的授权标头。我假设我错过了一些允许它的东西,但我还没有找到任何有帮助的东西。
标签: nginx nginx-config nginx-location