我需要使用一个简单的 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"}
阅读在线文档以获得进一步的指导。