![用于客户端身份验证的 Linux 正向代理](https://linux22.com/image/631126/%E7%94%A8%E4%BA%8E%E5%AE%A2%E6%88%B7%E7%AB%AF%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81%E7%9A%84%20Linux%20%E6%AD%A3%E5%90%91%E4%BB%A3%E7%90%86.png)
我需要使用一个简单的 Linux HTTP 正向代理代理进行相互 SSL 身份验证。代理需要将客户端证书附加到 HTTP 请求,然后将 HTTP 升级为 HTTPS。
我曾尝试使用 Nginx、Apache 来做到这一点,但却无功而返。
https://superuser.com/questions/604352/nginx-as-forward-proxy-for-https?rq=1
我尝试过 squid 但是它的安装和配置太复杂了。
我应该选择什么(我不介意商业软件或免费软件)?
答案1
我认为没有理由先使用不安全的协议进行连接,然后再重定向到 HTTPS。
使用 Web 服务器完成此操作的方式apache
非常简单,您可以使用客户端证书的任何字段来验证您的用户:
Require ssl-verify-client
SSLRequireSSL
SSLOptions +FakeBasicAuth +StrictRequire
SSLRequire %{SSL_CIPHER_USEKEYSIZE} >= 256
SSLRequire %{SSL_CLIENT_S_DN_O} eq "Awesome Company" \
and %{SSL_CLIENT_S_DN_OU} eq "Development" \
and %{SSL_CLIENT_S_DN_CN} in {"John Doe", "Jane Doe"}
阅读在线文档以获得进一步的指导。