nginx + IIS6.0 + asp.net и кеширование страниц целиком
Dmitry AT
nginx-forum на nginx.us
Чт Июл 28 15:41:07 UTC 2011
Добрый день.
Имеем связку nginx 1.0.5 + IIS c сайтом на asp.net
Не получается кешировать нужные
страницы целиком.
Страница загружается но в /tmp/nginx/cache
пусто и запрос этой страницы есть в
логах nginx и IIS.
В error.log чисто
Подскажите, пожалуйста, что я делаю не
так. Перепробовал разные варианты
конфигов, но так ничего и не добился.
Если
llocation /Widgets/Widget.aspx {
proxy_pass http://10.0.2.71:80/Widgets/Widget.aspx;
......
заменить на
location / {
proxy_pass http://10.0.2.71:80/;
......
то в /tmp/nginx/cache файлы начинают
создаваться т.е. как я понимаю с записью
в кеш проблем нет.
Nginx 1.0.5 установлен с ключами ./configure
--prefix=/etc/nginx --sbin-path=/usr/sbin --with-http_ssl_module
на Linux 2.6.37.1-1.2 x86_64
Конфиг nginx:
nginx.conf
user root;
error_log /etc/nginx/logs/error.log;
pid /etc/nginx/logs/nginx.pid;
daemon on;
worker_processes 2;
#worker_priority -1;
events
{
worker_connections 1024;
use epoll;
}
http
{
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local]
$request '
# '"$status" $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log log/access.log main;
log_format '$remote_addr - $remote_user
[$time_local] "$request" $status $bytes_sent'
' "$host" "$http_user_agent"
"$http_referer" "$gzip_ratio" "$request_time"';
access_log /etc/nginx/logs/access.log;
charset off;
client_body_buffer_size 32k;
client_body_timeout 60;
client_header_buffer_size 4k;
client_header_timeout 50;
client_max_body_size 512m;
keepalive_requests 200;
keepalive_timeout 60 58;
tcp_nodelay on;
tcp_nopush off;
sendfile off;
large_client_header_buffers 4 16k;
# limit_rate_after 3m;
# limit_rate 700k;
# Директива разрешает или запрещает
записывать в error_log ошибки о том, что
файл не найден.
log_not_found off;
# Директива разрешает или запрещает
записывать в access_log подзапросы.
log_subrequest on;
merge_slashes on;
open_file_cache max=1000 inactive=40s;
open_file_cache_errors on;
open_file_cache_min_uses 1;
open_file_cache_valid 120s;
reset_timedout_connection on;
server_names_hash_max_size 1024;
server_names_hash_bucket_size 512;
server_tokens off;
proxy_buffer_size 32k;
proxy_buffering on;
proxy_buffers 8 32k;
proxy_cache_path /tmp/nginx/cache levels=1:2
keys_zone=one:2048m inactive=120m max_size=3072m;
proxy_cache_min_uses 1;
proxy_cache_valid 200 302 15m;
proxy_cache_valid 301 30m;
proxy_cache_valid any 1m;
proxy_connect_timeout 40;
proxy_ignore_client_abort off;
proxy_intercept_errors off;
proxy_read_timeout 360;
proxy_send_timeout 120;
proxy_set_header Host $host;
proxy_set_header X-URI $request_uri;
proxy_set_header X-Forwarded-For
$proxy_add_x_forwarded_for;
proxy_store off;
proxy_temp_path /tmp/nginx/temp 1 2;
postpone_output 2920;
gzip off;
gzip_min_length 1024;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types application/x-javascript text/css;
gzip_vary on;
server_name_in_redirect off;
connection_pool_size 1024;
request_pool_size 16k;
include /etc/nginx/conf/mirrors.conf;
}
Конфиг сайта:
mirrors.conf
server {
listen 10.0.2.232:80;
server_name myservername
server_name_in_redirect off;
location / {
proxy_pass http://10.0.2.71:80/;
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;
client_max_body_size 100m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 10m;
gzip on;
gzip_min_length 1100;
gzip_buffers 16 8k;
gzip_comp_level 3;
gzip_types text/plain application/xml application/x-javascript
text/css;
}
location /Widgets/Widget.aspx {
proxy_pass http://10.0.2.71:80/Widgets/Widget.aspx;
proxy_cache one;
proxy_cache_key "$request_method|$is_args|$host|$request_uri";
proxy_hide_header "Set-Cookie";
proxy_ignore_headers "X-Accel-Redirect" "X-Accel-Expires" "Expires"
"Cache-Control";
proxy_cache_valid 200 302 304 30m;
proxy_cache_valid 301 1h;
proxy_cache_valid 503 30s;
proxy_cache_valid any 5m;
proxy_cache_use_stale http_502 http_503 http_504;
expires 1y;
}
}
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,213044,213044#msg-213044
Подробная информация о списке рассылки nginx-ru