我们有一个内部服务器,需要基于x509的身份validation,但我已被要求用基本的用户/密码身份validation打开它。
我一直在尝试在apache中设置一个反向代理,它使用可信证书连接到内部服务器,但我似乎无法select和使用证书。 基本身份validation正常工作。
通过所有的问题在这里和Googlesearch一些日子,我敢打赌,我需要使用一些SSLProxy *指令,但我所尝试的都没有成功到目前为止。
顺便说一句,我正在使用自签名证书在内部服务器进行身份validation。
到目前为止,我的.conf文件是这样读取的
<VirtualHost *:80> ServerName external.server SSLProxyEngine on UnknownSSLDirectives ProxyRequests Off ProxyPass / https://internal.server/ ProxypassReverse https://internal.server/ / <Location /> AuthType Basic AuthName "Authenticated proxy" AuthUserFile /etc/httpd/passwd/passwords Require user USER </Location> <Proxy> Order Deny,Allow Allow from all </Proxy> RequestHeader unset Authorization ErrorLog "logs/proxy.error.log" CustomLog "logs/proxy.access.log" common </VirtualHost>
我似乎如此亲密,但却无法渗透SSLauthentication的内在因素。我希望有人能够启发我。
SSLProxyMachineCertificateFile应该是你在找什么; 请确保您已获得PEM格式的客户端证书(必须是未encryption的,并且此文件中的公钥和私钥都是-nodes openssl选项),并且设备应将该证书提供给上游服务器进行身份validation。
哦,和半无关:您的ProxyPassReverse的设置看起来倒退; 他们通常应该匹配ProxyPass 。 这是不直观的,但它是在上游服务器发送头(它实际上不喜欢反向input)的绝对URLpath的即时修改。