請教nginx不能緩存默認首頁的問題
各位老大我用nginx做的反向代理,為了提高性能我想讓nginx直接用緩存返回給客戶,我配置后保存 cache后發現,訪問的網站圖版什麼的都能正確保存,但沒辦法保存默認首頁.
如下:後站伺服器網站默認頁為index.htm
http://www.test.com 到cache下檢查就沒有緩存index.htm文件。
http://www.test.com/index.htm 到cache下檢查成功緩存index.htm文件。
也就是nginx好像必需要不能取得後端伺服器默認主頁的文件名所以不能緩存,但如果不能緩存首頁的話我用if ( !-e $request_filename)判斷來使用緩存文件就會產生錯誤。請知道的老大幫助看看!
nginx配置文件如下:
user nobody nobody;
worker_processes 1;
pid logs/nginx.pid;
worker_rlimit_nofile 1024;
events {
use epoll;
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#charset gb2312;
server_names_hash_bucket_size 256;
client_header_buffer_size 256k;
large_client_header_buffers 4 256k;
client_max_body_size 50m;
client_body_buffer_size 256k;
client_header_timeout 3m;
client_body_timeout 3m;
send_timeout 3m;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 120;
upstream test_com {
server 192.168.1.1:8080 weight=3;
}
server {
listen 80 default;
server_name www.test.com www.test.com.cn;
index index.htm index.html index.php;
access_log logs/test_com.access.log;
proxy_store on;
proxy_store_access user:rw group:rw all:r;
proxy_temp_path cache/proxy;
proxy_redirect off;
location / {
root cache/proxy/$host;
#if ( !-e $request_filename) {
proxy_pass http://test_com;
#}
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Is-EDU 0;
proxy_next_upstream error;
client_max_body_size 50m;
client_body_buffer_size 256k;
proxy_connect_timeout 10;
proxy_send_timeout 60;
proxy_read_timeout 60;
proxy_buffer_size 4k;
proxy_buffers 8 128k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k;
}
}
[ 本帖最後由 thxyh 於 2009-12-30 17:13 編輯 ]
《解決方案》
:em16: 頂~~~~ 我也碰到這個問題