私はポート8080で実行しているJavaスプリングアプリケーションを持っています。このアプリケーションはnginxリバースプロキシの背後で実行されるヘッダ 'x-auth-token'を返す必要があります。私はそれに直接(バイパスnginxの)を要求する場合NGINXは応答ヘッダーを渡さない
アプリケーションが正しく、ヘッダを生成する:
http://169.54.76.123:8080
iを作るときに応答ヘッダ
のセットにおけるヘッダで応答しなくnginxのリバースプロキシを介して、要求は、ヘッダは表示されない
https://169.54.76.123
nginxがssl終了を処理します。
私のnginxのconfファイル
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-トークン' を通過しないのはなぜ?
レスポンスに含めるにはどうすればよいですか?
私は、変数の値を取得しようとしましたが、nginxのは、それを持っていないようです:
私は$sent_http_x_auth_token
と$upstream_htto_x_auth_token
を使用しますが、これらの変数は、任意の値が含まれていない(と思う)
私は
012:ノー成功も試みで
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のは、応答からカスタムヘッダーを削除していないため、任意の助け
おかげで