Если имеется такая конструкция в конфиге
location / {
root
/web1/users/mds_rudn/www/download.mds.rudn.info/htdocs/;
proxy_pass http://127.0.0.1:80;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-NGX-Request NGX;
proxy_set_header Host $http_host;
index index.html index.htm;
}
И бекенд выдает X-Accel-Redirect - редирект идет снова через proxy_pass
хост? Как этого избежать, т.е. что бы nginx выдавал файл сам по uri
взятому из X-Accel-Redirect с корнем сайта root.
Здравствуйте nginx-ru,
Пару часов назад нас досили и через пару минут после начала атаки
nginx показал 500 ошибку. Причиной тому стало очень много открытых
файлов. OC FreeBSD.
kern.maxfiles: 16424
kern.maxfilesperproc: 14781
kern.openfiles: 610
После начала атаки бэкенд (Апач) не мог отвечать, загруженный
запросами и пытаясь при этом сделать внутренний редирект для nginx.
Логи кое-какие сохранились. Могу выслать.
Вопрос: какие файлы мог создавать nginx в большом количестве и как
этого в будущем избежать?
С уважением,
Михаил Монашёв, SoftSearch.ru
Member of Independent Software Developers Forum (ISDEF)
mailto:postmaster@softsearch.ru
ICQ# 166233339
http://softsearch.ru/
Без бэкапа по жизни.
Возможно ли настроить nginx так, чтобы в случае если нет заголовка
Last-Modified в ответе от бакенда, nginx сам подставлял текущее время в
этот заголовок.
--
Zherdev Anatoly.
Изменения в nginx 0.3.12 26.11.2005
*) Безопасность: если nginx был собран с модулем
ngx_http_realip_module, то при использовании директивы "satisfy_any
on" директивы доступа и аутентификации не работали. Модуль
ngx_http_realip_module не собирался и не собирается по умолчанию.
*) Изменение: имя переменной "$time_gmt" изменено на "$time_local".
*) Изменение: директивы proxy_header_buffer_size и
fastcgi_header_buffer_size переименованы соответственно в
proxy_buffer_size и fastcgi_buffer_size.
*) Добавление: модуль ngx_http_memcached_module.
*) Добавление: директива proxy_buffering.
*) Исправление: изменение в работе с accept mutex при использовании
метода rtsig; ошибка появилась в 0.3.0.
*) Исправление: если клиент передал строку "Transfer-Encoding: chunked"
в заголоовке запроса, то nginx теперь выдаёт ошибку 411.
*) Исправление: при наследовании директивы auth_basic с уровня http в
строке "WWW-Authenticate" заголовка ответа выводился realm без
текста "Basic realm".
*) Исправление: если в директиве access_log был явно указан формат
combined, то в лог записывались пустые строки; ошибка появилась в
0.3.8.
*) Исправление: nginx не работал на платформе sparc под любыми OS,
кроме Solaris.
*) Исправление: в директиве if теперь не нужно разделять пробелом
строку в кавычках и закрывающую скобку.
Игорь Сысоев
http://sysoev.ru
Изменения в nginx 0.4.0 30.08.2006
*) Изменение во внутреннем API: инициализация модулей HTTP перенесена
из фазы init module в фазу HTTP postconfiguration.
*) Изменение: теперь тело запроса в модуле ngx_http_perl_module не
считывается заранее: нужно явно инициировать чтение с помощью метода
$r->has_request_body.
*) Добавление: модуль ngx_http_perl_module поддерживает код возврата
DECLINED.
*) Добавление: модуль ngx_http_dav_module поддерживает входящую строку
заголовка "Date" для метода PUT.
*) Добавление: директива ssi работает внутри блока if.
*) Исправление: происходил segmentation fault, если в директиве index
использовалась переменные и при этом первое имя индексного файла
было без переменных; ошибка появилась в 0.1.29.
Игорь Сысоев
http://sysoev.ru
Здравствуйте, nginx-ru.
Подскажите пожалуйста, как отключить логирование ошибок (в частности
404-ой ошибки) для какого-то определённого location{}-а ?
Описание error_log в документации на http://www.sysoev.ru/nginx/ не
нашёл. :-(
--
С уважением,
Монашёв Михаил, SoftSearch.ru
Member of Independent Software Developers Forum (ISDEF)
mailto:postmaster@softsearch.ru
ICQ# 166233339
http://softsearch.ru/
Без бэкапа по жизни.
Здравствуйте,
Задача: нужно перенаправить все запросы с доменов вида XXX.example.ws
в конкретную папку.
Делаю таким конфигом:
server {
error_log logs/example_error.log debug;
listen 81;
server_name example.ws *.example.ws;
location / {
root /home/example/data/public_html;
index index.html index.htm;
}
if ($host ~* .+\.example\.ws) {
rewrite ^(.*)$ /users$1 break;
}
}
При запросе на http://example.ws:81/ все работает.
При запросах вида http://XXX.example.ws:81/ получаю 404 ошибку с таким
логом:
2006/08/29 19:09:19 [error] 44111#0: *4669382 open() "/home/example/data/public_html/users/users/inde
x.htm" failed (2: No such file or directory), client: 195.234.72.66, server: example.ws, URL: "/", ho
st: "qweqwee.example.ws:81"
Замена break на last никак не влияет, а других проблемных мест не
нахожу. Куда смотреть?
P.S. nginx/0.3.51
--
С уважением,
noreply mailto:noreply@mail.anti-aging-drugs.com
Hello, All!
Опять я со своим непорочным... Тьфу! С авторизацией юзера по SSL
сертификату.
Итак, имеется selfsigned "корневой" сертификат организации. Если мы им
подписываем сертификат сотрудника и помещаем сертификат в
соответствующую директорию nginx - все работает замечательно. Теперь
хочется, чтобы, например, начальник отдела, имея "сертификат отдела",
подписанный "корневым сертификатом организации", мог сам подписывать
ключи своим сотрудникам. Вроде бы не слишком нахальное желание?:)
Делаем, генерим, подписываем, отдаем сертификат клиенту.
Теперь, если мы в файле ssl_client_certificate оставляем только один
сертификат отдела - авторизация с ssl_verify_depth=1 не проходит с
диагностикой:
client SSL certificate verify error: (27:certificate not trusted)
Из man verify извлекаем ценное знание:
27 X509_V_ERR_CERT_UNTRUSTED: certificate not trusted
the root CA is not marked as trusted for the specified purpose.
Маркируем имеющийся сертификат отдела как trusted:
openssl x509 -in department.pem -addtrust clientAuth -addtrust
serverAuth > cacert.pem
Смотрим на результат:
# openssl x509 -noout -text -in cacert.pem
.....
Trusted Uses:
TLS Web Client Authentication, TLS Web Server Authentication
No Rejected Uses.
Вроде бы, все должно работать? Ан, нет.
Пока не изменишь ssl_verify_depth на "2" и не добавишь в cacert.pem
сертификат организации - в логе абсолютно та же самая ругань на
untrusted certificate.
Это я что-то не так делаю, или где-то ошибка в коде?
--
Best regards, Andrey
St.Petersburg
Здравствуйте.
Мудрый Гугл делает почему-то странные запросы:
http://ironman.mindmix.ru/feeds/rss20.cgi%3ftopic_id=29064
вместо
http://ironman.mindmix.ru/feeds/rss20.cgi?topic_id=29064
чтобы его средиректить на правильный url я написал в конфиге
следующее:
server {
listen 217.16.27.104:80;
server_name jj3 *.mindmix.ru;
include conf/bots;
rewrite ^/feeds/rss20.cgi%3f(.*)$ http://$host/feeds/rss20.cgi?$1 permanent;
location /i/ {
...
}
location / {
...
}
location /robots.txt {
...
}
}
Но rewrite почему-то не срабатывает и редиректа не происходит. Что я
неверно написал?
--
С уважением,
Монашёв Михаил, SoftSearch.ru
Member of Independent Software Developers Forum (ISDEF)
mailto:postmaster@softsearch.ru
ICQ# 166233339
http://softsearch.ru/
Без бэкапа по жизни.