proxy doesn't cache
Maxim Dounin
mdounin at mdounin.ru
Sat May 11 14:55:58 UTC 2013
Hello!
On Fri, May 10, 2013 at 11:13:42AM +0800, Stefan Xenon wrote:
> Hi!
> I want to use nginx as a caching proxy in front of an OCSP responder.
> The OCSP requests are transmitted via HTTP POST.
>
> Hence, I configured nginx as follows:
>
> proxy_cache_path /tmp/nginx/cache levels=1:2 keys_zone=my-cache:8m
> max_size=1000m inactive=600m;
> server {
> 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_key "$scheme$proxy_host$uri$request_body";
> proxy_ignore_headers X-Accel-Expires Expires Cache-Control Set-Cookie;
> proxy_set_header Host $host;
> proxy_set_header X-Real-IP $remote_addr;
> }
> )
>
> I can access the OCSP responder through nginx and responses are received
> as expected - no issue. The problem is that nginx doesn't cache the
> responses. Note that OCSP nonces are *not* being sent as part of the
> request. Using Wireshark and nginx' debug log, I verified that all my
> requests are identical. How to configure nginx that it caches the responses?
>
> Note, I use the following command for testing:
> openssl ocsp -issuer cacert.crt -no_nonce -CAfile CAbundle.crt -url
> http://localhost/ -serial <SERIAL>
You configuration doesn't contain proxy_cache_valid (see
http://nginx.org/r/proxy_cache_valid), and in the same time via
proxy_ignore_headers it ignores all headers which may be used to
set response validity based on response headers. That is, no
responses will be cached with the configuration above.
You probably want to add something like
proxy_cache_valid 200 1d;
to your configuration.
--
Maxim Dounin
http://nginx.org/en/donation.html
More information about the nginx
mailing list