用于客户端身份验证的 Linux 正向代理

用于客户端身份验证的 Linux 正向代理

我需要使用一个简单的 Linux HTTP 正向代理代理进行相互 SSL 身份验证。代理需要将客户端证书附加到 HTTP 请求,然后将 HTTP 升级为 HTTPS。

我曾尝试使用 Nginx、Apache 来做到这一点,但却无功而返。

https://superuser.com/questions/604352/nginx-as-forward-proxy-for-https?rq=1

http://apache-http-server.18135.x6.nabble.com/How-to-pass-a-Client-Certificate-through-a-Reverse-Proxy-td4754227.html

我尝试过 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"}

阅读在线文档以获得进一步的指导。

相关内容