我想通过 nginx 代理请求标头“HTTP_X_SSL_CLIENT_S_DN”。
这是我们的服务器网络结构。
[front server:443] <---> [nginx proxy:8004] <---> [application server:8008]
(client cert auth)
当我尝试了两台服务器([前端服务器]和[应用程序服务器])时,它工作正常。标头“HTTP_X_SSL_CLIENT_S_DN”已传递给应用程序服务器。
然后添加服务器 [nginx 代理],标头“HTTP_X_SSL_CLIENT_S_DN”没有传递给应用程序服务器。
我的 nginx 配置如下。
server {
listen 8004;
index index.html;
location / {
proxy_pass_header Server;
proxy_pass_header X-Scheme;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://app-server/;
# TODO: to proxy 'HTTP_X_SSL_CLIENT_S_DN'
# failed settings
# proxy_pass_request_headers on; # not worked (default: on)
# proxy_pass_header X-SSL-Client-S-DN; # none
# proxy_pass_header X_SSL_CLIENT_S_DN; # none
# proxy_pass_header HTTP_X_SSL_CLIENT_S_DN; # none
# proxy_pass_header HTTP-X-SSL-CLIENT-S-DN; # none
# proxy_set_header X-SSL-Client-S-DN $ssl_client_s_dn; # none
# proxy_set_header X_SSL_Client_S_DN $x_ssl_client_s_dn; # none
# proxy_set_header X-SSL-Client-S-DN $http_ssl_client_s_dn; # none
# proxy_set_header X-SSL-Client-S-DN $http_x_ssl_client_s_dn; # none
}
}
upstream app-server {
server 127.0.0.1:8008;
}
应用任何帮助。