Can't make nginx to cache
Gabriel Ramuglia
gabe at vtunnel.com
Tue Jul 21 23:29:35 MSD 2009
Edit your php script to send caching headers
"X-Powered-By: PHP/5.2.6-2ubuntu4.2"
PHP by default does not send headers that would cause a browser or
cache to decide that a result was cachable. This makes sense, as php
is a dynamic language and the same url could return something
dramatically different every time.
2009/7/21 Mirosław Jaworski <mjaw at ikp.pl>:
> Hi
>
> Hello for the first time.
>
> Intended config: nginx as caching reverse proxy.
>
> nginx version: 0.7.61
>
> Direct connect to backend:
>
> $ telnet 192.168.10.18 80
> Trying 192.168.10.18...
> Connected to 192.168.10.18.
> Escape character is '^]'.
> GET / HTTP/1.1
> Host: www.xyz.pl
>
> HTTP/1.1 200 OK
> Date: Tue, 21 Jul 2009 13:06:01 GMT
> Server: Apache/2.2.9 (Ubuntu) PHP/5.2.6-2ubuntu4.2 with Suhosin-Patch
> X-Powered-By: PHP/5.2.6-2ubuntu4.2
> Vary: Accept-Encoding
> Content-Length: 22
> Content-Type: text/html
>
> ksjdhfksjdhfksjaghfksa
> Connection closed by foreign host.
>
>
> Connect to fronted ( nginx ):
>
> $ telnet A.B.C.D 80
> Trying A.B.C.D...
> Connected to A.B.C.D.
> Escape character is '^]'.
> GET / HTTP/1.1
> Host: www.xyz.pl
>
> HTTP/1.1 200 OK
> Server: nginx
> Date: Tue, 21 Jul 2009 13:06:56 GMT
> Content-Type: text/html
> Connection: keep-alive
> X-Powered-By: PHP/5.2.6-2ubuntu4.2
> Vary: Accept-Encoding
> Content-Length: 22
>
> ksjdhfksjdhfksjaghfksa
>
>
> nginx config:
> ----------------------------------------------------------------------
> worker_processes 4;
>
> events {
> worker_connections 2048;
> }
>
> http {
> include mime.types;
> default_type application/octet-stream;
>
> server_tokens off;
>
> client_body_temp_path /opt/nginx/client_temp 1 2;
> proxy_temp_path /opt/nginx/proxy_temp 1 2;
> fastcgi_temp_path /opt/nginx/fastcgi_temp 1 2;
>
> proxy_cache_path /opt/nginx/cache/A.B.C.D levels=1:2
> keys_zone=one:10m;
>
> log_format main '$remote_addr - $remote_user [$time_local]
> "$request" '
> '$status $body_bytes_sent "$http_referer" '
> '"$http_user_agent" "$http_x_forwarded_for"';
>
> sendfile on;
>
> keepalive_timeout 65;
> server {
> listen A.B.C.D;
> server_name localhost;
> access_log /var/log/nginx/A.B.C.D.access.log main;
> location / {
> proxy_pass http://192.168.10.18:80/;
> proxy_redirect off;
>
> proxy_cache one;
>
> proxy_pass_header Set-Cookie;
>
> proxy_set_header Host $host;
> proxy_set_header X-Real-IP $remote_addr;
> proxy_set_header X-Forwarded-For
> $proxy_add_x_forwarded_for;
> }
> }
>
> }
> ----------------------------------------------------------------------
>
> I don't see anything preventing caching, but cache ( path given by
> proxy_cache_path ) remains empty :|
>
> $ ls -al /opt/nginx/cache/A.B.C.D
> total 4
> drwxr-xr-x 2 www www 512 Jul 21 12:13 .
> drwxr-xr-x 9 www www 512 Jul 21 12:13 ..
>
> Should i do something more?
>
> Regards
>
> MJ
>
> --
> Mirosław "Psyborg" Jaworski
> GCS/IT d- s+:+ a C++$ UBI++++$ P+++$ L- E--- W++(+++)$ N++ o+ K- w-- O-
> M- V- PS+ PE++ Y+ PGP t 5? X+ R++ !tv b++(+++) DI++ D+ G e* h++ r+++ y?
> "Voltaire: It is dangerous to be right when the government is wrong."
>
>
>
More information about the nginx
mailing list