【发布时间】:2019-11-09 17:48:33
【问题描述】:
我正在使用 nginx 之类的反向代理来后端应用程序。 - 客户端使用证书-A.pem 连接到 nginx,并且 nginx 使用与根 CA 链接的中间 CA 来验证客户端(一切正常)。
现在问题来了: - nginx 必须使用与真实主机相同的标头(包含证书-A.pem)将请求转发到后端应用程序。转发到后端应用程序的数据包必须与 nginx 接收的客户端数据包相同。
为什么?因为我有大量的客户端要管理(每个客户端都有由同一个中间 CA 颁发的不同证书),后端需要证书(用来做东西)但我想用 nginx 预先验证这个证书(真的是最快的)
我已经厌倦了不同的配置,但我不知道如何代理设置正确的标头
upstream proxy_server {
server 127.0.0.1:8443; <---my backend application
}
server {
listen 443 ssl;
listen [::]:443;
ssl_certificate /home/mender/Projects/utility-scripts/gwsw-root-gen/cert_tree/intermediate_CA/gwsw/x509-med_ca_gwsw.pem;
ssl_certificate_key /home/mender/Projects/utility-scripts/gwsw-root-gen/cert_tree/intermediate_CA/gwsw/x509-med_ca_gwsw-key.pem;
location / {
proxy_pass https://proxy_server;
proxy_redirect off;
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-Custom-Referrer $http_x_custom_referrer;
}
}
无法验证证书。
【问题讨论】:
标签: ssl nginx https proxy forward