@ferranmv It sounds like you’re running Nginx as a proxy, which means by default PHP will see the REMOTE_ADDR as the IP address of the proxy (Nginx, in this case). As a result, ZenCache sees all requests as coming from the server itself and disables caching.
What you’ll need to do is either remove the Nginx proxy, or configure it to rewrite PHP’s $_SERVER['REMOTE_ADDR'] with the correct remote IP address as seen by the Nginx proxy.
The Nginx config on the front-end proxy will need something like this:
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
Then in the Nginx config on the back-end side (where PHP is), you’d do something like this to tell PHP to use the “real” remote IP address:
location ~ \.php$ {
fastcgi_param REMOTE_ADDR $http_x_real_ip;
#...other rules
}
For more details, please see: https://rtcamp.com/tutorials/nginx/forwarding-visitors-real-ip/
I’m running Nginx in front of Apache and ZenCache seems to work very well (other than it would not actually turn on until enabled, then disabled, then enabled again.
@ferranmv The latest release of ZenCache (v150409–released today) includes improved support for IP forwarding, which will improve support for scenarios where you might be using Nginx as a proxy. See the changelog entry here:
- Enhancement (includes improved CloudFlare support): Improvements to IP address detection, including added support for CloudFlare IP forwarding, multiple IPs in a single header, and the ability to customize the lookup order and/or add/remove sources that are searched when looking for the current IP address. It’s also possible to revert to the old IP address detection behavior (see How do I customize remote IP detection?). Props @jaswsinc. Issue #449
I’m running Nginx in front of Apache and ZenCache seems to work very well
@mcstar Thank you for the update and the confirmation. 🙂
other than it would not actually turn on until enabled, then disabled, then enabled again.
We fixed this bug in the latest release (v150409–released today). 🙂
hello @raamdev
how about hiawatha proxy?
i hiawatha as proxy in front of apache.
before update (v151004) it’s work, but when i update last night it not work 🙁
i got the message:
<!– ZenCache is NOT caching this page, because $_SERVER[‘REMOTE_ADDR’] === $_SERVER[‘SERVER_ADDR’]; i.e. a self-serve request. DEVELOPER TIP: if you are testing on a localhost installation, please add define(‘LOCALHOST’, TRUE); to your /wp-config.php file while you run tests 🙂 Remove it (or set it to a FALSE value) once you go live on the web. –>
can’t you solve it. thanks