Forum: NGINX Questions about proxy_cache and ssi

A0e215d08a0d81430d453e354f454e41?d=identicon&s=25 FoxBin (Guest)
on 2013-09-24 08:35
(Received via mailing list)
Hello list,

    I hava a  nginx config  problem , Please help look !
    I use proxy_cache and ssi.

*nginx config :*
ssi on;
ssi_silent_errors on;
ssi_types text/shtml;

proxy_temp_path /cache/proxy_temp;
proxy_cache_path /cache/proxy_cache levels=1:2 keys_zone=tmp_cache:2000m
inactive=10000d max_size=200G;
proxy_next_upstream error timeout invalid_header http_504 http_500
 http_502 http_503;


*example:*
*
*
        http://x.com/1.shtml:
        <html>
         hello world1 !
         <!--#include virtual="/include/foot.html"-->
        <\html>

        http://x.com/2.shtml:
        <html>
         hello world2 !
         <!--#include virtual="/include/foot.html"-->
        <\html>
         .......


         http://x.com/include/foot.html:
        <html>
         old, i am include info !
        <\html>


*problem:*
*
*
      Edit this file: http://x.com/include/include/foot.html
        <html>
         new, i am include info !
        <\html>

      I use ngx_cache_purge to clear the cache :
http://x.com/include/include/foot.html

      But do not take effect cache these pages :

      open http://x.com/1.shtml
      the content is :
        <html>
         hello world1 !
         old, i am include info !
        <\html>

      open http://x.com/2.shtml
      the content is :
        <html>
         hello world2 !
         old, i am include info !
        <\html>


      I have to clear the cache in order to take effect  :
      http://x.com/purge/1.shtml
      http://x.com/purge/2.shtml


      open http://x.com/1.shtml
      the content is :
        <html>
         hello world1 !
         new, i am include info !
        <\html>

      open http://x.com/2.shtml
      the content is :
        <html>
         hello world2 !
         new, i am include info !
        <\html>


If I have a lot shtml files ,Must be more clear the cache.
http://x.com/purge/1.shtml
http://x.com/purge/2.shtml
http://x.com/purge/3.shtml
http://x.com/purge/4.shtml
http://x.com/purge/5.shtml
http://x.com/purge/6.shtml
......

I just need to clear a cache: http://x.com/purge/include/foot.html ,
all
SHTML pages to take effect.
Is there a way to solve?

Thanks in advance :)
2974d09ac2541e892966b762aad84943?d=identicon&s=25 mex (Guest)
on 2013-09-24 08:43
(Received via mailing list)
Hell FoxBin,


can you please post your whole proxy_* - config?

since your footer.html gets included and displayed via 1/2/3.html, this
file
itself will
never get cached, thus never can be purged, because it becomes part of
the
output of 1/2/3.html.

"simple" caching is done based on URLs



regards,


mex

Posted at Nginx Forum:
http://forum.nginx.org/read.php?2,243085,243086#msg-243086
2974d09ac2541e892966b762aad84943?d=identicon&s=25 foxbin (Guest)
on 2013-09-25 14:29
(Received via mailing list)
hi,mex :

this is my nginx config:

user  nobody;
worker_rlimit_nofile 65500;
worker_processes  8;
error_log  logs/error.log;

events {
    use epoll;
    worker_connections  65500;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    gzip  off;
    client_max_body_size 1g;
    proxy_redirect off;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    ssi on;
    ssi_silent_errors on;
    ssi_types text/shtml;
    index index.shtml index.html index.htm;

    access_log  logs/access.log ;

    proxy_temp_path /cache/proxy_temp;
    proxy_cache_path /cache/proxy_cache levels=1:2
keys_zone=tmp_cache:2000m
inactive=10000d max_size=200G;
    proxy_next_upstream error timeout invalid_header http_504 http_500
http_502 http_503;

    upstream backend {
        server 192.168.1.100;
        server 192.168.1.101;
        server 192.168.1.102 backup;
   }

    server {
            server_name www.x.com ;

            location / {
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-For $remote_addr;
                proxy_pass http://backend;
                proxy_cache tmp_cache;
                proxy_cache_key $host$uri;
                proxy_cache_valid 1000d;
            }

            location ~ /purge(/.*) {
                allow 192.168.1.254;
                deny all;
                proxy_cache_purge tmp_cache $host$1$is_args$args;
            }

}




shtml files:
www.x.com/1.shtml      <!--#include virtual="/include/foot.html"-->
www.x.com/2.shtml      <!--#include virtual="/include/foot.html"-->
www.x.com/3.shtml       <!--#include virtual="/include/foot.html"-->
www.x.com/4.shtml       <!--#include virtual="/include/foot.html"-->
www.x.com/5.shtml       <!--#include virtual="/include/foot.html"-->
www.x.com/6.shtml       <!--#include virtual="/include/foot.html"-->
......more


include files:
http://www.x.com/purge/include/foot.html   <html> old, i am include info
!
</html>


Edit this file: http://www.x.com/include/include/foot.html   <html> new,
i
am include info !  <\html>



I use ngx_cache_purge to clear the cache :
http://www.x.com/purge/include/foot.html



But do not take effect cache these pages :
open http://www.x.com/1.shtml
the content is :
<html>
old, i am include info !
<\html>

open http://www.x.com/2.shtml
the content is :
<html>
old, i am include info !
<\html>



I have to clear the cache in order to take effect :
http://www.x.com/purge/1.shtml
http://www.x.com/purge/2.shtml


open http://www.x.com/1.shtml
the content is :
<html>
hello world1 !
new, i am include info !
<\html>

open http://www.x.com/2.shtml
the content is :
<html>
hello world2 !
new, i am include info !
<\html>




If I have a lot shtml files ,Must be more clear the cache  :(
http://www.x.com/purge/1.shtml
http://www.x.com/purge/2.shtml
http://www.x.com/purge/3.shtml
http://www.x.com/purge/4.shtml
http://www.x.com/purge/5.shtml
http://www.x.com/purge/6.shtml
.......more


I just need to clear a cache: http://x.com/purge/include/foot.html , all
SHTML pages to take effect.

Is there a way to solve?

Thanks in advance :)

Posted at Nginx Forum:
http://forum.nginx.org/read.php?2,243085,243089#msg-243089
2974d09ac2541e892966b762aad84943?d=identicon&s=25 foxbin (Guest)
on 2013-09-25 14:29
(Received via mailing list)
hi,mex :

this is my nginx config:

user  nobody;
worker_rlimit_nofile 65500;
worker_processes  8;
error_log  logs/error.log;

events {
    use epoll;
    worker_connections  65500;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    gzip  off;
    client_max_body_size 1g;
    proxy_redirect off;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    ssi on;
    ssi_silent_errors on;
    ssi_types text/shtml;
    index index.shtml index.html index.htm;

    access_log  logs/access.log ;

    proxy_temp_path /cache/proxy_temp;
    proxy_cache_path /cache/proxy_cache levels=1:2
keys_zone=tmp_cache:2000m
inactive=10000d max_size=200G;
    proxy_next_upstream error timeout invalid_header http_504 http_500
http_502 http_503;

    upstream backend {
        server 192.168.1.100;
        server 192.168.1.101;
        server 192.168.1.102 backup;
   }

    server {
            server_name www.x.com ;

            location / {
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-For $remote_addr;
                proxy_pass http://backend;
                proxy_cache tmp_cache;
                proxy_cache_key $host$uri;
                proxy_cache_valid 1000d;
            }

            location ~ /purge(/.*) {
                allow 192.168.1.254;
                deny all;
                proxy_cache_purge tmp_cache $host$1$is_args$args;
            }

}




shtml files:
www.x.com/1.shtml      <!--#include virtual="/include/foot.html"-->
www.x.com/2.shtml      <!--#include virtual="/include/foot.html"-->
www.x.com/3.shtml       <!--#include virtual="/include/foot.html"-->
www.x.com/4.shtml       <!--#include virtual="/include/foot.html"-->
www.x.com/5.shtml       <!--#include virtual="/include/foot.html"-->
www.x.com/6.shtml       <!--#include virtual="/include/foot.html"-->
......more


include files:
http://www.x.com/purge/include/foot.html   <html> old, i am include info
!
</html>


Edit this file: http://www.x.com/include/include/foot.html   <html> new,
i
am include info !  <\html>



I use ngx_cache_purge to clear the cache :
http://www.x.com/purge/include/foot.html



But do not take effect cache these pages :
open http://www.x.com/1.shtml
the content is :
<html>
old, i am include info !
<\html>

open http://www.x.com/2.shtml
the content is :
<html>
old, i am include info !
<\html>



I have to clear the cache in order to take effect :
http://www.x.com/purge/1.shtml
http://www.x.com/purge/2.shtml


open http://www.x.com/1.shtml
the content is :
<html>
hello world1 !
new, i am include info !
<\html>

open http://www.x.com/2.shtml
the content is :
<html>
hello world2 !
new, i am include info !
<\html>




If I have a lot shtml files ,Must be more clear the cache  :(
http://www.x.com/purge/1.shtml
http://www.x.com/purge/2.shtml
http://www.x.com/purge/3.shtml
http://www.x.com/purge/4.shtml
http://www.x.com/purge/5.shtml
http://www.x.com/purge/6.shtml
.......more


I just need to clear a cache: http://x.com/purge/include/foot.html , all
SHTML pages to take effect.

Is there a way to solve?

Thanks in advance :)

Posted at Nginx Forum:
http://forum.nginx.org/read.php?2,243085,243088#msg-243088
2974d09ac2541e892966b762aad84943?d=identicon&s=25 foxbin (Guest)
on 2013-09-25 14:29
(Received via mailing list)
hi,mex :

this is my nginx config:

user  nobody;
worker_rlimit_nofile 65500;
worker_processes  8;
error_log  logs/error.log;

events {
    use epoll;
    worker_connections  65500;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    gzip  off;
    client_max_body_size 1g;
    proxy_redirect off;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    ssi on;
    ssi_silent_errors on;
    ssi_types text/shtml;
    index index.shtml index.html index.htm;

    access_log  logs/access.log ;

    proxy_temp_path /cache/proxy_temp;
    proxy_cache_path /cache/proxy_cache levels=1:2
keys_zone=tmp_cache:2000m
inactive=10000d max_size=200G;
    proxy_next_upstream error timeout invalid_header http_504 http_500
http_502 http_503;

    upstream backend {
        server 192.168.1.100;
        server 192.168.1.101;
        server 192.168.1.102 backup;
   }

    server {
            server_name www.x.com ;

            location / {
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-For $remote_addr;
                proxy_pass http://backend;
                proxy_cache tmp_cache;
                proxy_cache_key $host$uri;
                proxy_cache_valid 1000d;
            }

            location ~ /purge(/.*) {
                allow 192.168.1.254;
                deny all;
                proxy_cache_purge tmp_cache $host$1$is_args$args;
            }

}




shtml files:
www.x.com/1.shtml      <!--#include virtual="/include/foot.html"-->
www.x.com/2.shtml      <!--#include virtual="/include/foot.html"-->
www.x.com/3.shtml       <!--#include virtual="/include/foot.html"-->
www.x.com/4.shtml       <!--#include virtual="/include/foot.html"-->
www.x.com/5.shtml       <!--#include virtual="/include/foot.html"-->
www.x.com/6.shtml       <!--#include virtual="/include/foot.html"-->
......more


include files:
http://www.x.com/purge/include/foot.html   <html> old, i am include info
!
</html>


Edit this file: http://www.x.com/include/include/foot.html   <html> new,
i
am include info !  <\html>



I use ngx_cache_purge to clear the cache :
http://www.x.com/purge/include/foot.html



But do not take effect cache these pages :
open http://www.x.com/1.shtml
the content is :
<html>
old, i am include info !
<\html>

open http://www.x.com/2.shtml
the content is :
<html>
old, i am include info !
<\html>



I have to clear the cache in order to take effect :
http://www.x.com/purge/1.shtml
http://www.x.com/purge/2.shtml


open http://www.x.com/1.shtml
the content is :
<html>
hello world1 !
new, i am include info !
<\html>

open http://www.x.com/2.shtml
the content is :
<html>
hello world2 !
new, i am include info !
<\html>




If I have a lot shtml files ,Must be more clear the cache  :(
http://www.x.com/purge/1.shtml
http://www.x.com/purge/2.shtml
http://www.x.com/purge/3.shtml
http://www.x.com/purge/4.shtml
http://www.x.com/purge/5.shtml
http://www.x.com/purge/6.shtml
.......more


I just need to clear a cache: http://x.com/purge/include/foot.html , all
SHTML pages to take effect.

Is there a way to solve?

Thanks in advance :)

Posted at Nginx Forum:
http://forum.nginx.org/read.php?2,243085,243090#msg-243090
Please log in before posting. Registration is free and takes only a minute.
Existing account

NEW: Do you have a Google/GoogleMail, Yahoo or Facebook account? No registration required!
Log in with Google account | Log in with Yahoo account | Log in with Facebook account
No account? Register here.