从上游设置代理头

时间:2016-08-03 16:09:47

标签: nginx

我正在配置一个将对用户进行身份验证的应用程序,然后设置X-Accel-Redirect标头和私有API密钥Foo(用于测试目的),这些密钥将传递给代理端点。

我将私有api密钥设置为身份验证应用程序中的标头,并在我的nginx配置文件中包含以下位置块。如何根据upsteam服务器设置的内容将标头设置为代理应用程序?我也尝试过使用$http_foo$sent_http_foo。目前,永远不会为代理设置Foo响应头。

location ~* ^/redirect {
  internal;

  resolver 8.8.8.8;
  proxy_ssl_server_name on;
  add_header Foo $upstream_http_foo;

  set $my_host "requestb.in";
  set $my_uri "a_test_uri";
  proxy_pass http://$my_host/$my_uri;
}

1 个答案:

答案 0 :(得分:3)

要使用的指令是proxy_set_header,所以在您的情况下:

proxy_set_header Foo $http_api_key; # assuming a "API-Key" header incoming

作为一般规则,您打算应用于与上游通信的任何设置都将以proxy_为前缀