我想使用nginx作为OCSP响应者前面的缓存代理。 '使用POST方法的OCSP请求构造如下:Content-Type头部具有值“application/ocsp-request”,而消息的主体是OCSPRequest的DER编码的二进制值。 (从RFC2560)nginx代理不缓存OCSP响应
因此,我配置nginx的如下:
proxy_cache_path /tmp/nginx/cache levels=1:2 keys_zone=my-cache:8m max_size=1000m inactive=600m;
server {
# Make site accessible from http://localhost/
server_name localhost;
location/{
proxy_pass http://213.154.225.237:80; #ocsp.cacert.org
proxy_cache my-cache;
proxy_cache_methods POST;
proxy_cache_valid 200 302 60m;
proxy_cache_valid 404 1m;
proxy_cache_key "$uri$request_body";
expires off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
)
我可以通过nginx的访问OCSP响应器和接收响应按预期 - 没有问题。 问题是nginx不缓存响应。随机数不是作为请求的一部分发送的。使用Wireshark我验证了我的所有请求都是相同的(在HTTP层上)。如何配置缓存响应的nginx?
请注意,我用下面的命令来进行测试:
openssl ocsp -issuer cacert.crt -no_nonce -CAfile CAbundle.crt -url http://localhost/ -serial <SERIAL>