сайт подвергается ддос атаке в качестве простых мер решил поставить такую связку поставил все работает но не кеширует как только убираешь виртуальные хосты из Nginx.conf начинает кешировать и нормально работать server { listen ip:80; server_name server.ru; location / { proxy_pass http://127.0.0.1:80/; proxy_redirect off; proxy_set_header Host $host; proxy_set_header ClientIP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m; 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 64k; } location ~* ^.+\.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|r tf|swf|ico)$ { root /path/to/virtualserver/root/; } } вот такой конфиг для каждого виртуального сервера отличаються только server_name и root картинок proxy_set_header Host $host; убираешь начинает кешировать но переста.т работать виртуальные хосты что делать ?
http://sysoev.ru/nginx/docs/http/ngx_http_proxy_module.html#proxy_cache syntax: proxy_cache [зона|off] default: off context: http, server, location Гугл сообщает Code: #Настройка файлового кеша. Первая опция определяет, # путь, levels - определяет уровень вложенности дисковой # иерархии кеша, keys_zone - определяет имя области # разделяемой памяти и размер, в разделяемой памяти, nginx # будет хранить активный кеш и ключи доступа, в моем # случае имя one, размер 20 мегабайт. Эта опция # определяется, только в секции http nginx, глобально # для всех виртуальных серверов. proxy_cache_path /var/db/nginx levels=1:2 keys_zone=one:20m; # Имя используемой зоны, для разных виртуалхостов можно # указывать разные, заранее определенные в секции http. # Эту и все последующие опции можно определять # индивидуально для каждого виртуального сервера proxy_cache one; # После скольких запросов результат запроса попадет в кеш proxy_cache_min_uses 1; # Кешировать результат выполнения запроса с кодом 200 и 302 # на 30 минут proxy_cache_valid 200 302 30m; # 404 кешировать на 1 минуту proxy_cache_valid 404 1m; # При получении от бекэнда одного из перечисленных кодов # ответов,использовать разрешается использовать "несвежий" # кешированный результат выполнения запроса. proxy_cache_use_stale error timeout invalid_header http_500 http_502 http_503 http_504;