nginx

warning: Creating default object from empty value in /var/www/galaober.org.ua/html/modules/taxonomy/taxonomy.pages.inc on line 34.

Отражение простой DDOS-атаки на php-скрипты

nginx перестал отвечать и netstat -ptn показывал много закрывающихся соединений с php-fpm. Беглый просмотр логов сервера показал поток бестолковых запросов к php:

2.224.32.185 - - [28/Feb/2012:10:40:00 +0200] "GET /yishuejkijfyecdcftanqqxelejjbjzdukdiyfdmavm.php HTTP/1.1" 404 3919 "http://yishuejkijfyecdcftanqqxelejjbjzdukdiyfdmavm.php" "Netscape/4.33b1 (C-MindSpring)" "-"
113.162.244.184 - - [28/Feb/2012:10:40:00 +0200] "GET /iacjjlxiqcjxuitfmlkiyygmy.php HTTP/1.1" 404 8906 "http://iacjjlxiqcjxuitfmlkiyygmy.php" "Opera/10.10 (Windows NT 5.2; US; cz) Presto/2.1.11" "-"           
( categories: )

Конфигурация nginx для работы MODx с ЧПУ

Для перезаписи URL добавляем в конфигурацию сервера:

if (!-e $request_filename) {
    rewrite ^/info/(.*)$ /info/index.php?q=$1 last;
}
( categories: )

Прогресс загрузки файлов в связке nginx+php

Из-за буферизации POST-запросов в nginx безболезненно сделать индикатор прогресса не получится. На помощь приходит сторонний модуль Nginx Upload Progress Module, в его документации всё расписано, с примером.

Автору респект! :)

( categories: )

Авторизация в nginx

Директивы этого модуля следующие:

auth_basic   [|off]
auth_basic_user_file   path/to/file

формат файла с паролями

# comment
login0:password
login1:password:anything

Помните, что пароль должен быть создан с помощью crypt(), другие алгоритмы не поддерживаются. Чтобы сделать файл с паролями для nginx, запускайте htpasswd с ключом '-d' (force CRYPT)

Пример использования:

location /realm/ {
    auth_basic  "Realm Name";
    auth_basic_user_file   /path/to/htpasswd;
    ...
}
( categories: )

Выполнение CGI-приложений при работе с сервером nginx

Как показала теория и практика - nginx выполнять CGI-приложения на perl не может. Для этого будем использовать его как proxy-сервер для запросов, а само выполнение CGI переложим на lighttpd.

( categories: )

Редирект для виртуального сервера на nginx

При необходимости отправлять клиента на виртуальный хост с приставкой www сконфигурируем сервер для редиректа:

Настройка Web-сервера

Для работы web-сервера будем использовать связку nginx + php-fpm

Syndicate content