<div></div>Hi,<div><br></div><div>I am using nginx version 1.10.1 with reverse proxy function toward Apache 2.2.15</div><div> </div><div>I noticed that if I change something inside backend (eg. modify some text on some article), that changes appear on frontend, but I still view old post's content into backend.<br></div><div>I tried to disable any caching mechanism for /wp-admin and /wp-login</div><div><br></div><div> I hope I did this properly, can you help me in order to figure some errors with this configuration?</div><div><br></div><div><br></div><div>This is my nginx global config:</div><div><br></div><div>####################################################</div><div><div>user nginx nginx;</div><div>worker_processes 4;</div><div><br></div><div>error_log /var/log/nginx/error.log;</div><div><br></div><div>events {</div><div>    worker_connections  1024;</div><div>}</div><div><br></div><div>http {</div><div>    include /etc/nginx/mime.types;</div><div>    default_type application/octet-stream;</div><div><br></div><div># Defines the cache log format, cache log location</div><div># and the main access log location.</div><div>        log_format cache '***$time_local '</div><div>        '$upstream_cache_status '</div><div>        'Cache-Control: $upstream_http_cache_control '</div><div>        'Expires: $upstream_http_expires '</div><div>        '$host '</div><div>        '"$request" ($status) '</div><div>        '"$http_user_agent" '</div><div>        'Args: $args '</div><div>        'Wordpress Auth Cookie: $wordpress_auth ';</div><div>    access_log /var/log/nginx/cache.log cache;</div><div>    access_log /var/log/nginx/access.log;</div><div><br></div><div>    # Proxy cache and temp configuration.</div><div>    proxy_cache_path /mnt/ramdisk/nginx_cache levels=1:2</div><div>                     keys_zone=main:10m</div><div>                     max_size=1g inactive=30m;</div><div>    proxy_temp_path /mnt/ramdisk/nginx_temp;</div><div>    proxy_ignore_headers X-Accel-Expires Expires Cache-Control Set-Cookie;</div><div>    proxy_hide_header Pragma;</div><div>    proxy_hide_header Expires;</div><div>    proxy_hide_header Cache-Control;</div><div>    expires 1d;</div><div><br></div><div># Gzip Configuration.</div><div>    gzip_vary off;</div><div>    gzip on;</div><div>    gzip_disable msie6;</div><div>    gzip_static on;</div><div>    gzip_comp_level 4;</div><div>    gzip_proxied any;</div><div>    gzip_types text/plain</div><div>               text/css</div><div>               application/x-javascript</div><div>               text/xml</div><div>               application/xml</div><div>               application/xml+rss</div><div>               text/javascript;</div><div><br></div><div>upstream backend {</div><div>        ip_hash;</div><div>        server 127.0.0.1:8080; # IP goes here.</div><div>    }</div></div><div><br></div><div><br></div><div><br></div><div>This is my nginx's virtual host config:</div><div><br></div><div><div>server {</div><div>        listen xxxx.xxxx.xxx.xx:80; # IP goes here.</div><div>        server_name www.domain.com; # IP could go here.</div><div><br></div><div># Set proxy headers for the passthrough</div><div>        proxy_set_header Host $host;</div><div>        proxy_set_header X-Real-IP $remote_addr;</div><div>        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;</div><div>       </div><div># Let the Set-Cookie header through.</div><div>        proxy_pass_header Set-Cookie;</div><div><br></div><div># Max upload size: make sure this matches the php.ini in .htaccess</div><div>        client_max_body_size 8m;</div><div><br></div><div># Catch the wordpress cookies.</div><div>        # Must be set to blank first for when they don't exist.</div><div>        set $wordpress_auth "";</div><div>        if ($http_cookie ~* "wordpress_logged_in_[^=]*=([^%]+)%7C") {</div><div>            set $wordpress_auth wordpress_logged_in_$1;</div><div>        }</div><div><br></div><div># Set the proxy cache key</div><div>        set $cache_key $scheme$host$uri$is_args$args;</div><div><br></div><div># All media (including uploaded) is under wp-content/ so</div><div># instead of caching the response from apache, we're just</div><div># going to use nginx to serve directly from there.</div><div>        location ~* ^/(wp-content|wp-includes)/(.*)\.(gif|jpg|jpeg|png|ico|bmp|js|css|pdf|doc)$ {</div><div>            root /home/domain.com;</div><div>        }</div><div><br></div><div># Don't cache these pages.</div><div>        location ~* ^/(wp-admin|wp-login.php)</div><div>{</div><div>            proxy_pass http://backend;</div><div>        }</div><div><br></div><div>location / {</div><div>            proxy_pass http://backend;</div><div>            proxy_cache main;</div><div>            proxy_cache_key $cache_key;</div><div>            proxy_cache_valid 30m; # 200, 301 and 302 will be cached.</div><div>            proxy_cache_use_stale error</div><div>                                  timeout</div><div>                                  invalid_header</div><div>                                  http_500</div><div>                                  http_502</div><div>                                  http_504</div><div>                                  http_404;</div><div>            # 2 rules to dedicate the no caching rule for logged in users.</div><div>            proxy_cache_bypass $wordpress_auth; # Do not cache the response.</div><div>            proxy_no_cache $wordpress_auth; # Do not serve response from cache.</div><div>            proxy_buffers 8 2m;</div><div>            proxy_buffer_size 10m;</div><div>            proxy_busy_buffers_size 10m;</div><div>        }</div><div><br></div><div>    }</div><div>} </div></div><div><br></div><div>Thank you very much</div><div><br></div>