我有一个不支持 TLS 的应用程序,但想要访问另一个需要通过相互身份验证进行 TLS 访问的应用程序。为了弥补这一差距,我使用以下配置在加速器/反向代理模式下设置了 squid:
http_access allow all
http_port 80 accel defaultsite=squid
netdb_filename none
cache_peer nginx parent 443 0 no-query originserver tls tls-cafile=/opt/my-squid/certs/ServerCA-chain.pem sslcert=/opt/my-squid/certs/proxy-client.pem name=myAccel
此设置有效,并且对 squid 的纯 HTTP 请求通过具有相互身份验证的 TLS 连接转发。但是,我希望 squid 使用 OCSP 验证对等方的服务器证书。我找到了配置选项sslcrtvalidator_program
并尝试将其与 shell 脚本一起使用:
sslcrtvalidator_program cache=0 ttl=1 /opt/my-squid/cert-validator.sh
添加此行会导致 squid 显示错误页面,告诉我存在内部错误或配置问题,导致网关代理错误。但是,我找不到有关该问题的更多信息,日志只是指出连接失败。
为了调试目的我使用了这个简单的 shell 脚本:
#!/bin/bash
cat >> /tmp/debug.log
文件 /tmp/debug.log 从未被写入,并且似乎从未调用验证器。
我究竟做错了什么?