首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将https客户端的头转发到后端应用程序

将https客户端的头转发到后端应用程序
EN

Stack Overflow用户
提问于 2019-06-27 16:48:31
回答 1查看 94关注 0票数 0

我正在使用类似于nginx的反向代理来后端应用程序。-客户端使用证书-A.pem连接到nginx,nginx使用与根CA链接的中间CA来验证客户端(全部确定)。

现在出现了问题:- nginx必须使用实际主机使用的相同头(包含证书-A.pem)将请求转发到后端应用程序。转发到后端应用程序的数据包必须与nginx接收的客户端数据包相同。

为什么?因为我有很多客户端要管理(每个客户端都有相同的中间CA颁发的不同证书),所以后端需要证书(用来做一些事情),但是我想用nginx (速度最快)预先验证这个证书。

我已经厌倦了不同的配置,但我不知道如何proxy_set正确的标题

代码语言:javascript
复制
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;
   }
}

无法验证证书。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-27 16:55:34

转发到后端应用程序的数据包必须与nginx接收的客户端数据包相同。

如果是这样的话,我相信您只需要在stream模式中使用nginx作为TCP代理。我不知道您是否能够在nginx端进行任何验证,但是,这完全取决于后端应用程序。

不可能(我不认为)让nginx建立一个SSL连接,也不可能将加密的数据传递到后端。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56795550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档