Ответы пользователя по тегу Компьютерные сети
  • Как лучше защитить web сервер - Apache или Nginx ?

    iandriyanov
    @iandriyanov
    Ставить Apache и Фронт Джинкса.

    nGinx заюзать под:

    http {
    # даже обычные медленные клиенты, обычно дороги
    reset_timedout_connection on;
    client_header_timeout 15;
    client_body_timeout 15;
    send_timeout 5;
    keepalive_timeout 30 15;

    # введем две зоны ограничений.
    # По открытым соединениям и по request rate
    limit_req_zone $binary_remote_addr zone=qglob:16m rate=3r/s;
    limit_zone cglob $binary_remote_addr 16m;

    server {
    listen 80;
    server_name www.myhost.ru;

    proxy_set_header Host $host;
    # необходимо для работы proxy_store
    proxy_buffering on;

    # ограничим максимальное количество соединений с одного ip
    # до 4х клиентов с одного ip по rfc2616
    limit_conn cglob 32;

    # Быстро отлавливаем “GET / “.
    # Дописываем удобное имя файла.
    location = / {
    rewrite ^/$ /index.html last;
    }

    #Пост-рейт отдача статического index.html или загрузка с бэкенда.
    location = /index.html {
    internal;
    limit_req zone=qglob burst=9 nodelay;
    open_file_cache_errors off;
    root /tmp/nginx/cache/;
    error_page 404 = /cached$uri;
    }


    location /cached/ {
    internal;
    alias /tmp/nginx/cache/;
    proxy_pass phpfarm;
    proxy_store on;
    proxy_store_access user:rw group:rw all:r;
    proxy_temp_path /tmp/nginx/tmp/;
    }

    #Жестоко зажатый на два запроса в секунду поиск.
    location = /advanced_search_result.php {
    limit_req zone=qulag burst=2;
    proxy_pass phpfarm;
    }

    # И все остальное.
    location / {
    proxy_pass phpfarm;
    }
    }
    }

    Еще можно покурить в сторону sysctl и pf (ipfw)
    Ответ написан