Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为代理服务器配置Apache客户端证书身份验证_Apache_Ssl - Fatal编程技术网

为代理服务器配置Apache客户端证书身份验证

为代理服务器配置Apache客户端证书身份验证,apache,ssl,Apache,Ssl,我有3个后端API服务器shttp,API服务器根据用户证书对不同的用户有不同的授权权限,我正在配置apache以平衡3个后端服务器的负载,如下所示 <VirtualHost *:zzzz> SSLEngine on SSLCertificateFile /path/to/server.crt SSLCertificateKeyFile /path/to/server.key SSLCACertificateFile /path

我有3个后端API服务器shttp,API服务器根据用户证书对不同的用户有不同的授权权限,我正在配置apache以平衡3个后端服务器的负载,如下所示

<VirtualHost *:zzzz>
       SSLEngine on
       SSLCertificateFile /path/to/server.crt
       SSLCertificateKeyFile /path/to/server.key
       SSLCACertificateFile /path/to/ca.crt
       SSLProxyEngine on
       SSLProxyVerify none
       SSLProxyCheckPeerCN off
       SSLProxyCheckPeerName off
       SSLProxyCheckPeerExpire off
       <Proxy balancer://api_server>
           BalancerMember https://xx.xx.xx.xx:yyyy
           BalancerMember https://xx.xx.xx.xx:yyyy
       </Proxy>
       ProxyPass / balancer://api_server/
</VirtualHost>
问题是,当客户端请求apache,带有证书时,只有请求发送到API服务器,而不是证书,并且API服务器响应未经授权的用户,我尝试使用SSLProxyMachineCertificateFile,但它只接受一组证书,并且每次都传递相同的证书,但在这种情况下,授权仅基于证书进行


有没有一种方法可以盲目地将HTTPS请求转发给API?或者欢迎任何其他建议。

尝试切换到AJP而不是HTTP代理,如Apache文档中所述:

如果我完全理解您的意思,您需要转发客户端证书,这是AJP的一个功能:

请求包结构

?ssl_证书0x07字符串


将评论转化为答案,因为它解决了OP的问题


用户与Apache对话,然后Apache与平衡机器对话。这就是代理的要点,它确保客户端不会直接与服务器通信。因此,从平衡服务器的角度来看,Apache是客户端


我能看到的唯一方法是使用第4层网络负载平衡器,它不进行SSL卸载。i、 e.不使用Apache

而使用负载平衡器您可以尝试proxyPass。@NitinDhomse最终目标不是使单个服务器过载,我尝试了proxyPass,但没有帮助用户与Apache对话,然后Apache与平衡的机器对话。这就是代理的要点,它确保客户端不会直接与服务器通信。因此,从平衡服务器的角度来看,Apache是客户端。我能看到的唯一方法是使用第4层网络负载平衡器,它不进行SSL卸载。i、 e.不是Apache。@Nic3500谢谢我配置了Nginx第4层负载平衡器,现在它工作正常:happy holiday..np,我将我的评论转换为回答,当你有2秒的时间时,请接受。节日快乐!我的后端服务器只接受HTTPS请求,我配置了nginx第4层负载平衡器,现在工作正常。。