我想使用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>