Re: Не правильный запрос на бэкенд после рерайта

2017-12-07 Пенетрантность Андрей Василишин



Для начала - посмотреть внимательно на то, что написано в
proxy_pass.



Спасибо, Максим!

proxy_pass http://backend$request_uri;

Странно что там не
proxy_pass http://backend$uri;
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Не правильный запрос на бэкенд после рерайта

2017-12-07 Пенетрантность Андрей Василишин


Всем привет!
Есть такой локейшн


location = /robots.txt {
rewrite ^(.*)$ /robots.php last;
}

 в котором прописан рерайт robots.txt -> robots.php, все срабатывает 
корректно, после рерайта запрос идет в  location ~ \.php$ где запрос 
проксируется на бэкенд и почему в логе вижу передается заголовок:


2017/12/07 00:09:06 [debug] 28037#28037: *264176 http proxy header:
"GET /robots.txt HTTP/1.1


и соответственно апач вместо того, чтобы выполнить скрипт robots.php, 
отдает содержимое файла robots.txt


Что делать?

# nginx -V
nginx version: nginx/1.13.4
built by gcc 4.7.2 (Debian 4.7.2-5)
built with OpenSSL 1.0.1t  3 May 2016
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx 
--modules-path=/usr/lib/nginx/modules --conf-path=/etc/nginx/nginx.conf 
--error-log-path=/var/log/nginx/error.log 
--http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid 
--lock-path=/var/run/nginx.lock 
--http-client-body-temp-path=/var/cache/nginx/client_temp 
--http-proxy-temp-path=/var/cache/nginx/proxy_temp 
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp 
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp 
--http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx 
--group=nginx --with-compat --with-file-aio --with-threads 
--with-http_addition_module --with-http_auth_request_module 
--with-http_dav_module --with-http_flv_module --with-http_geoip_module 
--with-http_gunzip_module --with-http_gzip_static_module 
--with-http_mp4_module --with-http_random_index_module 
--with-http_realip_module --with-http_secure_link_module 
--with-http_slice_module --with-http_ssl_module 
--with-http_stub_status_module --with-http_sub_module 
--with-http_v2_module --with-stream --with-stream_realip_module 
--with-stream_ssl_module --with-stream_ssl_preread_module 
--with-cc-opt='-g -O2 -fstack-protector --param=ssp-buffer-size=4 
-Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fPIC' 
--with-ld-opt='-Wl,-z,relro -Wl,-z,now -Wl,--as-needed -pie'

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx-1.13.6

2017-10-10 Пенетрантность Андрей Василишин
Извиняюсь, может где-то пропустил анонс, репозиторий дебиан  еще 
обновляется?



___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

mp4 + ssl

2017-05-15 Пенетрантность Андрей Василишин
Привет всем!
В связи с поголовной sslзацией Интернета пришла очередь и до
mp4-стримминга. И вот Вчерашний тест показал, при 15к коннектах уже
начало потихоньку упираться в проц и в пике было 32 Гбит/с трафика.
Сегодня без ssl при тех же 15к коннектах 40 Гбит/с трафика и проц
гуляет. Может нчто-то где-то надо подтюнить в конфиге? Конфиг ssl ниже:

listen  443 ssl;
add_header  Strict-Transport-Security "max-age=0;";
#add_header Strict-Transport-Security "max-age=31536000;
includeSubDomains" always;
#ssl on;
ssl_certificate /etc/nginx/ssl/site.com.crt;
ssl_certificate_key /etc/nginx/ssl/privatekey.key;
ssl_trusted_certificate /etc/nginx/ssl/site.com.crt;
# должен содержать 80 или 48 48 or 80 bytes
# openssl rand 48 > /etc/nginx/ssl/current.key
ssl_session_ticket_key /etc/nginx/ssl/current.key;
ssl_session_ticket_key /etc/nginx/ssl/prev.key;
ssl_session_ticket_key /etc/nginx/ssl/prevprev.key;

# Use 2048 bit Diffie-Hellman RSA key parameters
# (otherwise Nginx defaults to 1024 bit, lowering the strength
of encryption # when using PFS)
# Generated by OpenSSL with the following command:
# openssl dhparam -outform pem -out
/etc/nginx/ssl/dhparam2048.pem 2048
ssl_dhparam /etc/nginx/ssl/dhparam2048.pem;

# make the server choose the best cipher instead of the browser
# Perfect Forward Secrecy(PFS) is frequently compromised without
this
ssl_prefer_server_ciphers on;

# support only believed secure ciphersuites using the following
priority:
# 1.) prefer PFS enabled ciphers
# 2.) prefer AES128 over AES256 for speed (AES128 has completely
adequate security for now)
# 3.) Support DES3 for IE8 support

# disable the following ciphersuites completely
# 1.) null ciphers
# 2.) ciphers with low security
# 3.) fixed ECDH cipher (does not allow for PFS)
# 4.) known vulnerable cypers (MD5, RC4, etc)
# 5.) little-used ciphers (Camellia, Seed)
ssl_ciphers 'kEECDH+ECDSA+AES128 kEECDH+ECDSA+AES256
kEECDH+AES128 kEECDH+AES256 kEDH+AES128 kEDH+AES256 DES-CBC3-SHA +SHA
!aNULL !eNULL !LOW !kECDH !DSS !MD5 !EXP !PSK !SRP !CAMELLIA !SEED';

## OCSP Stapling
ssl_stapling on;
ssl_stapling_verify on;
ssl_protocols TLSv1.2 TLSv1.1 TLSv1;

# Cache SSL Sessions for up to 10 minutes
# This improves performance by avoiding the costly session
negotiation process where possible
ssl_session_cache builtin:1 shared:SSL:100m;
# ssl_session_timeout 5m; # this is a default, but can be changed
ssl_session_timeout 1h;
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: 301 редирект работает не всегда?

2017-04-20 Пенетрантность Андрей Василишин

> а вы по логам видите только обращения к счетчикам, или 200 к старому
> домену ?
>  

По логам вижу только 301 редирект и редкие 400 и 408 ошибки

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: 301 редирект работает не всегда?

2017-04-20 Пенетрантность Андрей Василишин

>  Если страница кэшируемая (например, без явного expires), то она может
>  быть оставлена в одном из табов, тогда счётчик сработает при очередном
>  запуске браузера без обращения к серверу.
> 


просто странно, редирект со старого домена на новый был сделал уже пол
года назад, а на старом домене все равно умудряются загружать счетчики
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: 301 редирект работает не всегда?

2017-04-20 Пенетрантность Андрей Василишин
20.04.2017 23:46, Gena Makhomed пишет:
> On 20.04.2017 23:26, Андрей Василишин wrote:
> 
>>  rewrite ^(.*)$ http://site.to$request_uri permanent;
> 
> Выделение ^(.*)$ лишнее, оно потом нигде не используется.
> 
> Еще при такой директиве при редиректе будут дублироваться аргументы.
> 
> Надо или добавлять ? после $request_uri или использовать return 301:
> 
> rewrite ^ http://site.to$request_uri? permanent;
> 
> return 301 http://site.to$request_uri;
> 
> Последний вариант короче и предпочтительнее всего.
> 


Спасибо за ликбез!
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx и статический hls, странные падения скорости

2017-01-09 Пенетрантность Андрей Василишин
09.01.2017 19:04, Vasiliy P. Melnik пишет:
> у лвм на таких кернелах не работает трим - надо 3.9 минимум. Ну или уйти
> от лвм-а
> 
> Я вышел из положения раскладкой кеша на 4 диска средствами самого
> нгинкса - у него есть сплиткеш. Деградация скорости в случае отсутствия
> трима может быть легко раз в 10. в atop-е хорошо видно
> 


Спасибо за совет, LVM вообще первый раз использую по просьбе клиента, до
этого использовал  диски по отдельности. Но в atop в моменты просадок
нет никаких  перегрузов даже и близко

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx и статический hls, странные падения скорости

2017-01-09 Пенетрантность Андрей Василишин
09.01.2017 18:37, Vasiliy P. Melnik пишет:
> какой кернел?

Сейчас такой
 # uname -a
Linux host-21 3.2.0-4-amd64 #1 SMP Debian 3.2.84-1 x86_64 GNU/Linux

На момент написания стартпоста было:
Linux host-21 3.2.0-4-amd64 #1 SMP Debian 3.2.82-1 x86_64
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx и статический hls, странные падения скорости

2017-01-09 Пенетрантность Андрей Василишин

> 
> Судя по графикам - вы в канал упираетесь.
> 


Та вроде как нет,  во всяком случае на аплинке еще запас не менее 5
гбит/с есть и потерь не наблюдается. Но вот почему так резко обрубает и
при релоаде становится все нормально?
Как временный костыль - релоад нгинкс раз в 15 минут по крону.
Последние сутки график уже выглядит так:
https://i.gyazo.com/24f12765b1f6cc9459d0a92ba94c5bea.png
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

nginx и статический hls, странные падения скорости

2017-01-08 Пенетрантность Андрей Василишин
Есть странная проблема, нгинкс после определенного времени начинает
медленно отдавать сегменты hls, которые являются статикой на диске
(4хSSD Kingston SH103S3 LVM  ext4)  при этом резко возрастает writing и
падает waiting.

https://i.gyazo.com/b4f7745c2fdf0ef63614684fa91177af.png


В логах в это время пусто, при релоаде нгинкс, все снова стает в порядке
до определенного момента, который может быть как через 5 минут, так и
через пару часов.
Что это может быть?

# nginx -V
nginx version: nginx/1.11.8
built by gcc 4.7.2 (Debian 4.7.2-5)
built with OpenSSL 1.0.1t  3 May 2016
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx
--modules-path=/usr/lib/nginx/modules --conf-path=/etc/nginx/nginx.conf
--error-log-path=/var/log/nginx/error.log
--http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid
--lock-path=/var/run/nginx.lock
--http-client-body-temp-path=/var/cache/nginx/client_temp
--http-proxy-temp-path=/var/cache/nginx/proxy_temp
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp
--http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx
--group=nginx --with-compat --with-file-aio --with-threads
--with-http_addition_module --with-http_auth_request_module
--with-http_dav_module --with-http_flv_module --with-http_gunzip_module
--with-http_gzip_static_module --with-http_mp4_module
--with-http_random_index_module --with-http_realip_module
--with-http_secure_link_module --with-http_slice_module
--with-http_ssl_module --with-http_stub_status_module
--with-http_sub_module --with-http_v2_module --with-mail
--with-mail_ssl_module --with-stream --with-stream_realip_module
--with-stream_ssl_module --with-stream_ssl_preread_module
--with-cc-opt='-g -O2 -fstack-protector --param=ssp-buffer-size=4
-Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2'
--with-ld-opt='-Wl,-z,relro -Wl,-z,now -Wl,--as-needed'


userstream;
worker_processes32;
worker_rlimit_nofile 65535;
error_log   /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;

events {
use epoll;
worker_connections  65535;
multi_accepton;
}

http {
include /etc/nginx/mime.types;
default_typeapplication/octet-stream;
server_tokens   off;
access_log  off;
sendfileoff;
tcp_nopush  on;
tcp_nodelay on;
keepalive_timeout   30;
reset_timedout_connection on;

output_buffers  1 1M;

log_format IP '[$time_local] $http_referer $request $remote_addr';

upstream php {
server 127.0.0.1:9000;
}

server {
listen  80;
server_name site.com;
charset utf8;
access_log  off;
root/home/stream/www;
rewrite ^/stream/(\d+)$
/player/stream.php?id=$1 last;

location ~ \.php$ {
fastcgi_index index.php;
fastcgi_pass php;
include fastcgi_params;
fastcgi_read_timeout 300;
}

valid_referers none blocked server_names site.tv
site.net 1.1.1.1;

location ~* \.(m3u8|ts)$ {
if ($invalid_referer) {
return 403;
access_log /var/log/nginx/referer.log IP;
}
sendfile on;
sendfile_max_chunk 512k;
output_buffers  1 128k;
}

location = /nginx_status {
stub_status on;
}
}
}
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: "debug_connection" is ignored в готовых пакетах

2016-12-04 Пенетрантность Андрей Василишин
04.12.2016 14:49, Валентин Бартенев пишет:
> On Sunday 04 December 2016 14:38:15 Андрей Василишин wrote:
>> Заметил, что в готовых пакетах, взятых отсюда
>> http://nginx.org/ru/linux_packages.html пакеты почему-то собраны без
>> --with-debug. С чем связана такая политика?
> 
> Этот флаг добавляет накладных расходов в работу nginx, даже если debug
> не включен в конфигурации.
> 
> В пакете есть также отдельный nginx-debug, который собран с --with-debug.


Спасибо. Как-то даже не обращал внимание, что оказывается рядом есть еще
один бинарник

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

"debug_connection" is ignored в готовых пакетах

2016-12-04 Пенетрантность Андрей Василишин
Заметил, что в готовых пакетах, взятых отсюда
http://nginx.org/ru/linux_packages.html пакеты почему-то собраны без
--with-debug. С чем связана такая политика?
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Где брать динамические модули?

2016-06-22 Пенетрантность Андрей Василишин



http://nginx.org/ru/linux_packages.html#dynmodules

 | В настоящее время следующие модули собираются как динамические
 | и поставляются в виде отдельных пакетов:
 |
 |   nginx-module-geoip
 |   nginx-module-image-filter
 |   nginx-module-njs
 |   nginx-module-perl
 |   nginx-module-xslt




Спасибо

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Где брать динамические модули?

2016-06-22 Пенетрантность Андрей Василишин

Устанавливаю самый обычный нгинкс с репозитория
deb http://nginx.org/packages/mainline/debian/ wheezy nginx


# nginx -V
nginx version: nginx/1.11.1
built by gcc 4.7.2 (Debian 4.7.2-5)
built with OpenSSL 1.0.1e 11 Feb 2013 (running with OpenSSL 1.0.1t  3 
May 2016)

TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx 
--modules-path=/usr/lib/nginx/modules --conf-path=/etc/nginx/nginx.conf 
--error-log-path=/var/log/nginx/error.log 
--http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid 
--lock-path=/var/run/nginx.lock 
--http-client-body-temp-path=/var/cache/nginx/client_temp 
--http-proxy-temp-path=/var/cache/nginx/proxy_temp 
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp 
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp 
--http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx 
--group=nginx --with-http_ssl_module --with-http_realip_module 
--with-http_addition_module --with-http_sub_module 
--with-http_dav_module --with-http_flv_module --with-http_mp4_module 
--with-http_gunzip_module --with-http_gzip_static_module 
--with-http_random_index_module --with-http_secure_link_module 
--with-http_stub_status_module --with-http_auth_request_module 
--with-http_xslt_module=dynamic --with-http_image_filter_module=dynamic 
--with-http_geoip_module=dynamic --with-http_perl_module=dynamic 
--add-dynamic-module=debian/extra/njs-1c50334fbea6/nginx --with-threads 
--with-stream --with-stream_ssl_module --with-http_slice_module 
--with-mail --with-mail_ssl_module --with-file-aio --with-ipv6 
--with-http_v2_module --with-cc-opt='-g -O2 -fstack-protector 
--param=ssp-buffer-size=4 -Wformat -Werror=format-security 
-Wp,-D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-z,relro -Wl,--as-needed'



и вот
# ls -la   /usr/lib/nginx/modules
total 8
drwxr-xr-x 2 root root 4096 Apr 19 20:27 .
drwxr-xr-x 3 root root 4096 Apr 27 10:34 ..

пусто, ни одного модуля. Где их брать?

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: reverse proxy + mysql + video

2016-04-04 Пенетрантность Андрей Василишин

05.04.2016 0:54, Daniel Podolsky пишет:


А можно нескромный вопрос? Архитектор всего этого решения еще не уволен?

я вижу, это популярная точка зрения.

Раз так - скажите мне, уважаемые увольнятели, чем отличается база данных
от файловой системы.


Тем, что она находится на файловой системе, тем самым добавляет оверхед?

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: reverse proxy + mysql + video

2016-04-03 Пенетрантность Андрей Василишин

03.04.2016 2:44, tepkuh пишет:

Уже отвечал. Кратко вот основные моменты:
https://forum.nginx.org/read.php?21,265759,265847#msg-265847
Сетевые файловые системы, так же имеют ряд минусов. Решение хранить в БД
файлов является компромисом имеющим как свои плюсы так и свои минусы. Как
впрочем всегда и везде так.
НЕ использование сетевых файловых систем в распределенных географически
nginx'ах ведёт к большим денежным затратам на дисковые подсистемы. Тут либо
данные хранить в БД либо иметь доступ к данным через сетевую файловую
систему удаленными географический nginx'ами




Я конечно извиняюсь, но что-то мне подсказывает, что видео в базе будет 
заниматься места на дисках ничуть не меньше, то же видео в виде файла. И 
дисковые подсистемы тут будут абсолютно одинаковыми.



___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: reverse proxy + mysql + video

2016-04-02 Пенетрантность Андрей Василишин

02.04.2016 12:20, tepkuh пишет:

Не понял вопроса. ;) База хранит видео файлы в формате blob (англ. Binary
Large Object — двоичный большой объект).
Это сервис, куда пользователи загружает видяшки. А другие пользователи их
смотрят ;)



Зачем видео хранить в базе? Почему его нельзя хранить на файловой 
системе в виде файла?


___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: try_files и регистр

2016-02-18 Пенетрантность Андрей Василишин

18.02.2016 17:48, Alex Vorona пишет:

18.02.16 13:00, Андрей Василишин пишет:

Всем привет!
Как сделать так, чтобы try_files искал файл без учета регистра. Есть
часть расширений у файлов в верхнем регистре, часть в нижнем, ссылки все
в нижнем регистре.

Для известного расширения можно попробовать regex capturing location на
имя файла без расширения и try_files с результатом capturing и нужными
вариантами расширения.




пока ограничился переименованием всех файлов в нижний регистр
find /path/to/files -type f -exec rename 's/(.*)\/([^\/]*)/$1\/\L$2/' {} \;


Но а вообще странно, для location есть ~*, а для try_files - нет

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

try_files и регистр

2016-02-18 Пенетрантность Андрей Василишин

Всем привет!
Как сделать так, чтобы try_files искал файл без учета регистра. Есть 
часть расширение у файлов в верхнем регистре, часть в нижнем, ссылки все 
в нижнем регистре.


___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx-1.9.11

2016-02-10 Пенетрантность Андрей Василишин

10.02.2016 17:35, Михаил Монашёв пишет:


Почитал немного, но не понял, какая проблема решается спомощью
динамических модулей?




проблема превращения нгинкса  в апачи :)

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: $realip_remote_addr выдает айпи прокси а не клиента

2016-01-24 Пенетрантность Андрей Василишин

24.01.2016 10:33, Pavel V. пишет:

Здравствуйте, Андрей.

Вы писали 24 января 2016 г., 4:45:36:



В конфиге прописано:



real_ip_header X-Forwarded-For;
real_ip_recursive on;
set_real_ip_from 94.23.0.0/16;



  proxy_set_header   X-Real-IP$realip_remote_addr;
  proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;




На бэкнде получаю в X_REAL_IP айпи прокси а не клиента:



  [HTTP_X_REAL_IP] => 94.23.156.246
  [HTTP_X_FORWARDED_FOR] => 176.104.49.220, 94.23.156.246
  [REMOTE_ADDR] => 94.23.156.246



Кто виноват и что делать?


Всё работает так, как вы указали в конфигурации.

Цитирую http://nginx.org/ru/docs/http/ngx_http_realip_module.html :

$realip_remote_addr -  хранит исходный адрес клиента (1.9.7)

В данном случае клиентом является то, что соединилось с nginx, т.е. прокси.

Вам следует использовать переменную $remote_addr:


Поставил, результат тот же


proxy_set_header X-Real-IP $remote_addr;

Возможно также, что директива "proxy_set_header   X-Forwarded-For  " совсем 
не нужна,
чаще всего это наследие копипаста. Для получения IP реального клиента 
достаточно X-Real-IP.



Она-то конечно не нужна, но вот для дебага таки нужна

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

$realip_remote_addr выдает айпи прокси а не клиента

2016-01-23 Пенетрантность Андрей Василишин


В конфиге прописано:

real_ip_header X-Forwarded-For;
real_ip_recursive on;
set_real_ip_from 94.23.0.0/16;



proxy_set_header   X-Real-IP$realip_remote_addr;
proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;


На бэкнде получаю в X_REAL_IP айпи прокси а не клиента:

[HTTP_X_REAL_IP] => 94.23.156.246
[HTTP_X_FORWARDED_FOR] => 176.104.49.220, 94.23.156.246
[REMOTE_ADDR] => 94.23.156.246

Кто виноват и что делать?

# nginx -V
nginx version: nginx/1.9.9
built by gcc 4.7.2 (Debian 4.7.2-5)
built with OpenSSL 1.0.1e 11 Feb 2013
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx 
--conf-path=/etc/nginx/nginx.conf 
--error-log-path=/var/log/nginx/error.log 
--http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid 
--lock-path=/var/run/nginx.lock 
--http-client-body-temp-path=/var/cache/nginx/client_temp 
--http-proxy-temp-path=/var/cache/nginx/proxy_temp 
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp 
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp 
--http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=www-data 
--group=www-data --with-http_ssl_module --with-http_realip_module 
--with-http_addition_module --with-http_sub_module 
--with-http_flv_module --with-http_mp4_module --with-http_geoip_module 
--with-http_gunzip_module --with-http_gzip_static_module 
--with-http_random_index_module --with-http_secure_link_module 
--with-http_stub_status_module --with-http_auth_request_module 
--with-threads --with-stream --with-stream_ssl_module 
--with-http_slice_module --with-file-aio --with-http_v2_module 
--with-cc-opt='-g -O2 -fstack-protector --param=ssp-buffer-size=4 
-Wformat -Werror=format-security' --with-ld-opt=-Wl,-z,relro --with-ipv6 
--with-debug


___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

geoip и прокси

2016-01-21 Пенетрантность Андрей Василишин

Добрый день!

Есть ли какая-нибудь возможность не имея списка прокси определять 
$geoip_country_code последнего адреса в “X-Forwarded-For”?


Другими словами: надо точно определить откуда пришел юзер, даже если он 
за проксями.


___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: geoip и прокси

2016-01-21 Пенетрантность Андрей Василишин

21.01.2016 18:52, Михаил Монашёв пишет:


у меня вот так сейчас. Подсети яндекса давно не обновлял. ip-шки стран
скачиваются по ссылке или из maxmind-а конвертятся.



Спасибо за список, в полной мере проблему он конечно не решает, еще бы 
найти где-то списки сетей этих сервисов https://geektimes.ru/post/189488/


___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: lte lt gte gt conditions

2015-09-15 Пенетрантность Андрей Василишин

14.09.2015 18:50, Maxim Dounin пишет:


Надо в зависимости от $connections_writing устанавливать $limit_rate, при
чем ступенчато. Скажем от 0 до 5к - без ограничений, от 5к до 10к -
ограничение  200к, от 10к до 15к  - 150к, от 15к и выше - 100к


Как-то так:

 map $connections_writing $limit {
 "~^.{1-3}$"  0;
 "~^[1234].{3}$"  0;
 "~^.{4}$"200k;
 "~^[1-4].{4}$"   150k;
 default  100k;
 }

И далее в нужном месте:

 set $limit_rate $limit;

Не то чтобы очень прямо, но должно работает



Спасибо за регексы, Максим, предпоследний правда немного неправильный.
Решил наделать больше ступенек, вышло так:
map $connections_writing $limit {
"~^.{1-3}$"  0; #0-1000 connections
"~^[1-4].{3}$"   0; #1000-4999 connections
"~^[5-7].{3}$"   300k;  #5000-7999 connections
"~^[8-9].{3}$"   250k;  #8000- connections
"~^1[0-2].{3}$"  200k;  #1-12999 connections
"~^1[3-5].{3}$"  150k;  #13000-15999 connections
default  100k;  #over 16000 connections
}





ЗЫ $connections_writing и другие переменные ngx_http_stub_status_module не
описаны тут http://nginx.org/ru/docs/varindex.html


Да вроде описаны.



Действительно, что-то я как-то плохо смотрел.

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: lte lt gte gt conditions

2015-09-14 Пенетрантность Андрей Василишин



perl_set может быть красивее, насчет быстрее - не уверен.



Тогда уже легче заголовком или аргументом передать на пхп-бэкенд, а 
оттуда вернуть  X-Accel-Limit-Rate


___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: lte lt gte gt conditions

2015-09-14 Пенетрантность Андрей Василишин

14.09.2015 17:37, Maxim Dounin пишет:

Hello!

On Mon, Sep 14, 2015 at 09:05:07AM +0300, Alex Vorona wrote:


14.09.15 08:55, Андрей Василишин пишет:

14.09.2015 8:36, Alex Vorona пишет:

13.09.15 23:08, Андрей Василишин пишет:

Добрый день всем!
Хочу странного. Хочу делать limit_rate  в зависимости от
$connections_active и желательно без обращения на бэкенд за данной
логикой. Как такое сделать?

map_module пробовали?



не вижу там возможность построить выражение >, <, =<, >=

Постройте самописным генератором map для $connections_active от 0 до 10
и все.


IMHO, проще/правильнее регулярных выражений написать для нужных
скоростей.



Не совсем понял, как это сделать?
Надо в зависимости от $connections_writing устанавливать $limit_rate, 
при чем ступенчато. Скажем от 0 до 5к - без ограничений, от 5к до 10к - 
ограничение  200к, от 10к до 15к  - 150к, от 15к и выше - 100к
ЗЫ $connections_writing и другие переменные ngx_http_stub_status_module 
не описаны тут http://nginx.org/ru/docs/varindex.html


___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

lte lt gte gt conditions

2015-09-13 Пенетрантность Андрей Василишин

Добрый день всем!
Хочу странного. Хочу делать limit_rate  в зависимости от 
$connections_active и желательно без обращения на бэкенд за данной 
логикой. Как такое сделать?


___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: lte lt gte gt conditions

2015-09-13 Пенетрантность Андрей Василишин

14.09.2015 8:36, Alex Vorona пишет:

13.09.15 23:08, Андрей Василишин пишет:

Добрый день всем!
Хочу странного. Хочу делать limit_rate  в зависимости от
$connections_active и желательно без обращения на бэкенд за данной
логикой. Как такое сделать?

map_module пробовали?



не вижу там возможность построить выражение >, <, =<, >=

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: X-Accel-Limit-Rate и limit_rate_after

2015-09-07 Пенетрантность Андрей Василишин

18.08.2015 18:31, Валентин Бартенев пишет:

On Tuesday 18 August 2015 17:50:24 Андрей Василишин wrote:


Поставлю вопрос по-другому, что будет, если в конфиге прописан
limit_rate и придет ответ с бэкенда с заголовком X-Accel-Limit-Rate? Что
сработает?



Сработает значение из заголовка.




Спасибо, Валентин!
Еще такое замечание, нигде в документации нет, суффиксы k, m не работают 
в этом заголовке

http://nginx.org/ru/docs/syntax.html

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Планируется ли в официальном репозитории поддежка nginx-light/nginx-full/nginx-extras?

2015-09-04 Пенетрантность Андрей Василишин

04.09.2015 13:39, Алексей Сундуков пишет:

Т.е. просто прописав в debian/rules опицию
--with-http_image_filter_module для configure?|


да (с) Фарид


___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Планируется ли в официальном репозитории поддежка nginx-light/nginx-full/nginx-extras?

2015-09-02 Пенетрантность Андрей Василишин



P.S. Варианты: сборка из исходников, сборка своего пакета понятны, но
хочется быстрого пакетного решения.



А я всегда собираю свой пакет.
apt-get source nginx
nano debian/rules
dpkg-buildpackage -rfakeroot -uc -b

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: segfault at 0 ip 000000000042d9ae sp 00007ffdc4fe6e70 error 4 in nginx[400000+d4000]

2015-08-28 Пенетрантность Андрей Василишин

27.08.2015 6:48, Maxim Dounin пишет:


Чтение debug log'а наводит на мысль, что проблема во
взаимодействии aio, проксирования с X-Accel-Redirect'ом и закрытия
клиентом соединения в неподходящий момент.

Я ещё буду смотреть/пробовать воспроизвести, сейчас для тестов
имеет смысл прописать в конфиге proxy_ignore_client_abort on; и
посмотреть, исчезнет ли проблема.




Добавил proxy_ignore_client_abort on; за ночь ни одного сигфолта. 
Спасибо, Максим, помогло!


___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: X-Accel-Limit-Rate и limit_rate_after

2015-08-18 Пенетрантность Андрей Василишин


Поставлю вопрос по-другому, что будет, если в конфиге прописан 
limit_rate и придет ответ с бэкенда с заголовком X-Accel-Limit-Rate? Что 
сработает?



___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

X-Accel-Limit-Rate и limit_rate_after

2015-08-15 Пенетрантность Андрей Василишин
Есть задача в определенное время ограничивать поток, этим может 
заниматься бэкенд добавляя заголовок X-Accel-Limit-Rate, тогда можно 
будет убрать из конфига директиву limit_rate. Как быть с директивой 
limit_rate_after, можно ли ее использовать совместно с X-Accel-Limit-Rate?


___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: segfault at 0 ip 000000000042d9ae sp 00007ffdc4fe6e70 error 4 in nginx[400000+d4000]

2015-08-12 Пенетрантность Андрей Василишин

11.08.2015 16:01, Maxim Dounin пишет:

Hello!

On Mon, Aug 10, 2015 at 10:02:10PM +0300, Андрей Василишин wrote:


Есть такая проблема, в логах смотрю каждый день по 2 -3 сабжевых ошибки, как
следствие график по stub_status постоянно растет вверх и не отображает
реальность. Кто виноват и что делать?


Для начала - получить core dump и посмотреть на backtrace,
подробнее тут:

http://wiki.nginx.org/Debugging#Core_dump





root@CSRH005:~# gdb /usr/sbin/nginx /var/www/s13.igru-film.net/core
GNU gdb (GDB) 7.4.1-debian
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
http://gnu.org/licenses/gpl.html

This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type show copying
and show warranty for details.
This GDB was configured as x86_64-linux-gnu.
For bug reporting instructions, please see:
http://www.gnu.org/software/gdb/bugs/...
Reading symbols from /usr/sbin/nginx...Reading symbols from 
/usr/lib/debug/usr/sbin/nginx...done.

done.
[New LWP 32226]

warning: Can't read pathname for load map: Ошибка ввода/вывода.
[Thread debugging using libthread_db enabled]
Using host libthread_db library /lib/x86_64-linux-gnu/libthread_db.so.1.
Core was generated by `nginx: worker process   '.
Program terminated with signal 11, Segmentation fault.
#0  0x0044c11f in ngx_http_copy_aio_event_handler (ev=0x3e68bb8) 
at src/http/ngx_http_copy_filter_module.c:198
198 src/http/ngx_http_copy_filter_module.c: Нет такого файла или 
каталога.

(gdb) backtrace full
#0  0x0044c11f in ngx_http_copy_aio_event_handler (ev=0x3e68bb8) 
at src/http/ngx_http_copy_filter_module.c:198

aio = 0x3e68b50
r = 0x3052910
#1  0x00424743 in ngx_event_process_posted 
(cycle=cycle@entry=0x14c9c40, posted=0x6ec170) at 
src/event/ngx_event_posted.c:33

q = 0x3e68c08
ev = 0x3e68bb8
#2  0x004241e1 in ngx_process_events_and_timers 
(cycle=cycle@entry=0x14c9c40) at src/event/ngx_event.c:259

flags = optimized out
timer = optimized out
delta = optimized out
#3  0x0042b29f in ngx_worker_process_cycle 
(cycle=cycle@entry=0x14c9c40, data=data@entry=0x9) at 
src/os/unix/ngx_process_cycle.c:769

worker = 9
i = optimized out
c = optimized out
#4  0x00429cc7 in ngx_spawn_process 
(cycle=cycle@entry=0x14c9c40, proc=proc@entry=0x42b1e0 
ngx_worker_process_cycle, data=data@entry=0x9, 
name=name@entry=0x4ae4f1 worker process,

respawn=respawn@entry=-4) at src/os/unix/ngx_process.c:198
on = 1
pid = 0
s = optimized out
#5  0x0042b554 in ngx_start_worker_processes 
(cycle=cycle@entry=0x14c9c40, n=12, type=type@entry=-4) at 
src/os/unix/ngx_process_cycle.c:358

i = optimized out
ch = {command = 1, pid = 32225, slot = 20, fd = 54}
#6  0x0042c45c in ngx_master_process_cycle (cycle=0x14c9c40, 
cycle@entry=0x13ee570) at src/os/unix/ngx_process_cycle.c:243

title = optimized out
p = optimized out
size = optimized out
i = optimized out
n = optimized out
sigio = 0
set = {__val = {0 repeats 16 times}}
itv = {it_interval = {tv_sec = 0, tv_usec = 0}, it_value = 
{tv_sec = 0, tv_usec = 0}}

live = optimized out
delay = 0
ls = optimized out
ccf = 0x14ca3c0
#7  0x00408801 in main (argc=optimized out, argv=optimized 
out) at src/core/nginx.c:415

b = optimized out
log = 0x6e8ea0
i = optimized out
cycle = 0x13ee570
init_cycle = {conf_ctx = 0x0, pool = 0x13ede70, log = 0x6e8ea0, 
new_log = {log_level = 0, file = 0x0, connection = 0, disk_full_time = 
0, handler = 0, data = 0x0, writer = 0, wdata = 0x0,
action = 0x0, next = 0x0}, log_use_stderr = 0, files = 0x0, 
free_connections = 0x0, free_connection_n = 0, 
reusable_connections_queue = {prev = 0x0, next = 0x0}, listening = {
elts = 0x0, nelts = 0, size = 0, nalloc = 0, pool = 0x0}, 
paths = {elts = 0x0, nelts = 0, size = 0, nalloc = 0, pool = 0x0}, 
config_dump = {elts = 0x0, nelts = 0, size = 0,
nalloc = 0, pool = 0x0}, open_files = {last = 0x0, part = 
{elts = 0x0, nelts = 0, next = 0x0}, size = 0, nalloc = 0, pool = 0x0}, 
shared_memory = {last = 0x0, part = {elts = 0x0,
  nelts = 0, next = 0x0}, size = 0, nalloc = 0, pool = 
0x0}, connection_n = 0, files_n = 0, connections = 0x0, read_events = 
0x0, write_events = 0x0, old_cycle = 0x0, conf_file = {
len = 21, data = 0x7ffdc4fe9dcb ss}, conf_param = {len = 
0, data = 0x0}, conf_prefix = {len = 11, data = 0x7ffdc4fe9dcb ss}, 
prefix = {len = 11, data = 0x4aa3e2 /etc/nginx/},
  lock_file = {len = 0, data = 0x0}, hostname = {len = 0, data 
= 0x0}}

cd = optimized out
ccf = optimized out
(gdb) quit

___
nginx

segfault at 0 ip 000000000042d9ae sp 00007ffdc4fe6e70 error 4 in nginx[400000+d4000]

2015-08-10 Пенетрантность Андрей Василишин
Есть такая проблема, в логах смотрю каждый день по 2 -3 сабжевых ошибки, 
как следствие график по stub_status постоянно растет вверх и не 
отображает реальность. Кто виноват и что делать?


https://i.gyazo.com/26e93ebd8d7ca1d6b031eae815e5a1be.png

root@CSRH005:~# nginx -V
nginx version: nginx/1.9.2
built by gcc 4.7.2 (Debian 4.7.2-5)
built with OpenSSL 1.0.1e 11 Feb 2013
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx 
--conf-path=/etc/nginx/nginx.conf 
--error-log-path=/var/log/nginx/error.log 
--http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid 
--lock-path=/var/run/nginx.lock 
--http-client-body-temp-path=/var/cache/nginx/client_temp 
--http-proxy-temp-path=/var/cache/nginx/proxy_temp 
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp 
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp 
--http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx 
--group=nginx --with-http_ssl_module --with-http_realip_module 
--with-http_addition_module --with-http_sub_module 
--with-http_dav_module --with-http_flv_module --with-http_mp4_module 
--with-http_gunzip_module --with-http_gzip_static_module 
--with-http_random_index_module --with-http_secure_link_module 
--with-http_stub_status_module --with-http_auth_request_module 
--with-threads --with-stream --with-stream_ssl_module --with-file-aio 
--with-http_spdy_module --with-cc-opt='-g -O2 -fstack-protector 
--param=ssp-buffer-size=4 -Wformat -Werror=format-security' 
--with-ld-opt=-Wl,-z,relro --with-ipv6 --with-debug



root@CSRH005:~# grep nginx /var/log/messages
Aug  9 15:40:10 CSRH005 kernel: [1099310.166060] nginx[1374]: segfault 
at 0 ip 0042d9ae sp 7ffdc4fe6e70 error 4 in nginx[40+d4000]

root@CSRH005:~# grep nginx /var/log/messages.1
Aug  3 13:51:46 CSRH005 kernel: [575072.311848] nginx[10451]: segfault 
at 47a ip 0044c10d sp 7ffdc4fe76e8 error 6 in 
nginx[40+d4000]
Aug  3 18:44:26 CSRH005 kernel: [592610.630426] nginx[21780]: segfault 
at 20 ip 0042d9fd sp 7ffdc4fe6ee0 error 6 in nginx[40+d4000]
Aug  3 21:04:20 CSRH005 kernel: [600993.792108] nginx[10442]: segfault 
at 0 ip   (null) sp 7ffdc4fe76e8 error 14 in nginx[40+d4000]
Aug  4 09:14:29 CSRH005 kernel: [644747.348142] nginx[10449]: segfault 
at 276c777f ip 276c777f sp 7ffdc4fe76e8 error 15
Aug  4 09:40:56 CSRH005 kernel: [646332.519798] nginx[10448]: segfault 
at 0 ip   (null) sp 7ffdc4fe76e8 error 14 in nginx[40+d4000]
Aug  4 11:55:44 CSRH005 kernel: [654409.605814] nginx[10441]: segfault 
at 561 ip 0044c10d sp 7ffdc4fe76e8 error 6 in 
nginx[40+d4000]
Aug  4 13:03:06 CSRH005 kernel: [658446.334335] nginx   D 
88207fc327c0 0 10450  10439 0x
Aug  4 16:03:49 CSRH005 kernel: [669275.821734] nginx[26979]: segfault 
at 47a ip 0044c10d sp 7ffdc4fe7738 error 6 in 
nginx[40+d4000]
Aug  4 17:32:18 CSRH005 kernel: [674578.263779] nginx[11532] general 
protection ip:40a01c sp:7ffdc4fe6530 error:0 in nginx[40+d4000]
Aug  4 19:04:00 CSRH005 kernel: [680072.935615] nginx[10450]: segfault 
at 7f6965636e79 ip 0044c11f sp 7ffdc4fe76e8 error 4 in 
nginx[40+d4000]
Aug  4 20:47:45 CSRH005 kernel: [686289.909866] nginx[3889]: segfault at 
0 ip 0042471f sp 7ffdc4fe7740 error 4 in nginx[40+d4000]
Aug  4 21:22:40 CSRH005 kernel: [688382.137698] nginx[17639]: segfault 
at 0 ip   (null) sp 7ffdc4fe7738 error 14 in nginx[40+d4000]
Aug  5 00:17:49 CSRH005 kernel: [698878.002868] nginx[9397]: segfault at 
0 ip   (null) sp 7ffdc4fe7738 error 14 in nginx[40+d4000]
Aug  5 00:17:49 CSRH005 kernel: [698878.118312] nginx[17658]: segfault 
at 20 ip 0042d9fd sp 7ffdc4fe6e70 error 6 in nginx[40+d4000]
Aug  5 11:45:16 CSRH005 kernel: [740072.739510] nginx[10444]: segfault 
at 10001 ip 00424722 sp 7ffdc4fe76f0 error 6 in 
nginx[40+d4000]
Aug  6 21:19:16 CSRH005 kernel: [860759.349310] nginx[14272]: segfault 
at 0 ip   (null) sp 7ffdc4fe7738 error 14 in nginx[40+d4000]
Aug  6 23:33:06 CSRH005 kernel: [868779.230139] nginx[26239]: segfault 
at 2710324c ip 2710324c sp 7ffdc4fe7738 error 15
Aug  7 00:01:56 CSRH005 kernel: [870506.767838] nginx[25126]: segfault 
at 19ba30d0 ip 19ba30d0 sp 7ffdc4fe7738 error 15
Aug  8 00:09:43 CSRH005 kernel: [957263.551059] nginx[8316]: segfault at 
47a ip 0044c10d sp 7ffdc4fe7738 error 6 in nginx[40+d4000]
Aug  8 18:03:02 CSRH005 kernel: [1021581.176323] nginx[10446]: segfault 
at 0 ip   (null) sp 7ffdc4fe76e8 error 14 in nginx[40+d4000]
Aug  9 04:46:44 CSRH005 kernel: [1060153.935352] nginx[10440]: segfault 
at 479 ip 0044c10d sp 7ffdc4fe76e8 error 6 in 
nginx[40+d4000]
Aug  9 04:46:48 CSRH005 kernel: [1060157.803550] nginx[21563]: segfault 
at 0 ip   (null) sp 7ffdc4fe7738 error 14 in 

414 Request-URI Too Large

2015-06-11 Пенетрантность Андрей Василишин

Всем привет!
Есть такая проблема, задолбали школоддосеры. которы LOIC'ом штурмуют 
сайт запросами вида http://site.com/?blahblah, так как аргументы в / не 
предусматривается никак обрабатывать, создал конструкцию вида

if ($args) {
return 444;
}

В целом локейшн выглядит так:
location = / {
if ($request_method = POST) {
return 405;
}
if ($args) {
return 444;
}
try_files $uri $uri/ /index.php?q=$uri$args;
index  index.php index.htm index.html;

}

В хроме отрабатывает нормально, в одном ФФ нормально, в другом получаю 
сабж, как и в Опере.

Почему так?

# nginx  -V
nginx version: nginx/1.2.4
configure arguments: --prefix=/etc/nginx 
--conf-path=/etc/nginx/nginx.conf 
--error-log-path=/var/log/nginx/error.log 
--http-client-body-temp-path=/var/lib/nginx/body 
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi 
--http-log-path=/var/log/nginx/access.log 
--http-proxy-temp-path=/var/lib/nginx/proxy 
--lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid 
--with-debug --with-file-aio --with-http_flv_module 
--with-http_geoip_module --with-http_mp4_module 
--with-http_realip_module --with-http_secure_link_module 
--with-http_stub_status_module --without-http_scgi_module 
--without-http_split_clients_module --without-http_ssi_module 
--without-http_userid_module --without-http_uwsgi_module


___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: 414 Request-URI Too Large

2015-06-11 Пенетрантность Андрей Василишин

11.06.2015 22:51, Vadim A. Misbakh-Soloviov пишет:

Что именно отрабатывает и в каких условиях? Слово отрабатывает не говорит
совсем ничего о том, что подразумевалось в этом месте рассказа.


отрабатывает, это означает отдает 444, я извиняюсь, если ввел в 
заблуждение, в Хроме пишет, к примеру: Данные не получены 
ERR_EMPTY_RESPONSE


___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: 414 Request-URI Too Large

2015-06-11 Пенетрантность Андрей Василишин

11.06.2015 23:10, Vadim A. Misbakh-Soloviov пишет:

отрабатывает, это означает отдает 444, я извиняюсь, если ввел в
заблуждение, в Хроме пишет, к примеру: Данные не получены
ERR_EMPTY_RESPONSE


А, собственно, URI можно увидеть? :)
Потому что у меня на рандомных тестах в Fx всё прекрасно работает (можете на
домене моего ящика проверить). Но у меня есть подозрение, что вы пробовали URI
длиной более 255 символов, вот и отшивало (хотя за это отвечает другая
директива) :)



Я его привел в старпосте, нет там 255 символов, потом оно размножается 
до 
http://site.com/?blahblah?blahblah?blahblah?blahblah?blahblah?blahblah?blahblah?blahblah...


___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: замедление работы

2015-05-14 Пенетрантность Андрей Василишин

14.05.2015 16:36, denis пишет:

14.05.2015 15:58, Андрей Василишин пишет:

14.05.2015 15:57, denis пишет:

Добрый день.

Иногда приходится слышать (и видеть) - поставили nginx, всё стало
тормозить. Напрямую запросы быстрые, после включения nginx В режиме
proxy_pass (статики тоже, ибо с другого сервера) - ощутимо медленнее,
time curl подтверждает, например 5с против 0.3

Как диагностировать такие случаи?




А кеширование используется? Или нгинкс в виде простой прокладки?

просто прокладка, типовые концигурации, единственный локейшен с
прокси-пассом. . Но даже так - процентов 10 потери скорости будут не
заметны, а больше - ненормально.

Чуть уточню вопрос: бывает 2 вида проблемы
1) был апач в мир, поставили проксировать nginx (и статику), сервер один
- тот же битрикс иногда существенно замедляется. Понятно, что правильно
настроить чисто на динамику - и будет быстрее, но сам факт... Особенно
актуально, когда на сервере 100-500 сайтов, под все конфиги писать -
нужно время.
2) был сервер, его увели в локальную сеть, запросы проксируются - такой
вариант бывает, когда было несколько серверов со своими айпи, их
объединили в dmz и вывели через 1 айпи в мир. Домены не пересекаются.



Тут какая-то каша описана. Если не использовать кеширование для статики, 
с чеговдруг должно работать быстрее? Если в Вашем случае делается 
двойная работа.



___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

uploadprogress, странная обработка запросов

2015-04-14 Пенетрантность Андрей Василишин
После обновления нгинкса с дотдебовского репозитория случилось что-то 
странное. Не вижу обработки запроса, сразу вылазит ошибка 400:


2015/04/15 02:23:57 [debug] 385#0: *387 accept: 176.104.56.218 fd:43
2015/04/15 02:23:57 [debug] 385#0: posix_memalign: 01F0B610:256 @16
2015/04/15 02:23:57 [debug] 385#0: *387 event timer add: 43: 
6:1429053897756

2015/04/15 02:23:57 [debug] 385#0: *387 reusable connection: 1
2015/04/15 02:23:57 [debug] 385#0: *387 epoll add event: fd:43 op:1 
ev:80002001

2015/04/15 02:23:57 [debug] 385#0: *387 post event 7FC7711B0280
2015/04/15 02:23:57 [debug] 385#0: *387 delete posted event 7FC7711B0280
2015/04/15 02:23:57 [debug] 385#0: *387 http check ssl handshake
2015/04/15 02:23:57 [debug] 385#0: *387 http recv(): 1
2015/04/15 02:23:57 [debug] 385#0: *387 plain http
2015/04/15 02:23:57 [debug] 385#0: *387 http wait request handler
2015/04/15 02:23:57 [debug] 385#0: *387 malloc: 01EAFCB0:1024
2015/04/15 02:23:57 [debug] 385#0: *387 recv: fd:43 493 of 1024
2015/04/15 02:23:57 [debug] 385#0: *387 reusable connection: 0
2015/04/15 02:23:57 [debug] 385#0: *387 posix_memalign: 
01F7A410:4096 @16

2015/04/15 02:23:57 [debug] 385#0: *387 http process request line
2015/04/15 02:23:57 [debug] 385#0: *387 http request line: GET 
/upload/img/photos/site/video/43/4367/436717/436717m.jpg HTTP/1.1
2015/04/15 02:23:57 [debug] 385#0: *387 http uri: 
/upload/img/photos/site/video/43/4367/436717/436717m.jpg

2015/04/15 02:23:57 [debug] 385#0: *387 http args: 
2015/04/15 02:23:57 [debug] 385#0: *387 http exten: jpg
2015/04/15 02:23:57 [debug] 385#0: *387 http process request header line
2015/04/15 02:23:57 [debug] 385#0: *387 posix_memalign: 
01F7B420:4096 @16

2015/04/15 02:23:57 [debug] 385#0: *387 http header: Host: s4.site.tv
2015/04/15 02:23:57 [debug] 385#0: *387 http header: Connection: 
keep-alive
2015/04/15 02:23:57 [debug] 385#0: *387 http header: User-Agent: 
Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like 
Gecko) Chrome/41.0.2272.101 Safari/537.36
2015/04/15 02:23:57 [debug] 385#0: *387 http header: X-Requested-With: 
ShockwaveFlash/17.0.0.134

2015/04/15 02:23:57 [debug] 385#0: *387 http header: Accept: */*
2015/04/15 02:23:57 [debug] 385#0: *387 http header: Accept-Encoding: 
gzip, deflate, sdch
2015/04/15 02:23:57 [debug] 385#0: *387 http header: Accept-Language: 
ru,en-US;q=0.8,en;q=0.6,uk;q=0.4
2015/04/15 02:23:57 [debug] 385#0: *387 http header: Cookie: 
PHPSESSID=iq0b1esb2b413jtahhdtgo4bb1; lang_code=ru; _gat=1; 
_ga=GA1.2.327265239.1427830768

2015/04/15 02:23:57 [debug] 385#0: *387 http header done
2015/04/15 02:23:57 [info] 385#0: *387 client sent plain HTTP request to 
HTTPS port while reading client request headers, client: 176.104.56.218, 
server: s4.site.tv, request: GET /upload/img/p

hotos/site/video/43/4367/436717/436717m.jpg HTTP/1.1, host: s4.site.tv
2015/04/15 02:23:57 [debug] 385#0: *387 http finalize request: 497, 
/upload/img/photos/site/video/43/4367/436717/436717m.jpg? a:1, c:1

2015/04/15 02:23:57 [debug] 385#0: *387 event timer del: 43: 1429053897756
2015/04/15 02:23:57 [debug] 385#0: *387 http special response: 497, 
/upload/img/photos/site/video/43/4367/436717/436717m.jpg?

2015/04/15 02:23:57 [debug] 385#0: *387 http set discard body
2015/04/15 02:23:57 [debug] 385#0: *387 uploadprogress error-tracker 
error: 400
2015/04/15 02:23:57 [debug] 385#0: *387 uploadprogress error-tracker not 
tracking in this location

2015/04/15 02:23:57 [debug] 385#0: *387 HTTP/1.1 400 Bad Request
Server: nginx/1.6.3
Date: Tue, 14 Apr 2015 23:23:57 GMT
Content-Type: text/html
Content-Length: 672
Connection: close

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: uploadprogress, странная обработка запросов

2015-04-14 Пенетрантность Андрей Василишин

Разобрался, uploadprogress тут не причем. Всему виной было ssl on;

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: быстрый запуск mp4

2015-03-19 Пенетрантность Андрей Василишин

19.03.2015 18:49, LIVE32 пишет:

Здравствуйте,
что нужно сделать для быстрого запуска видеофайла mp4 h264 в nginx




прогнать его через qt-faststart

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: NGINX Media Server

2014-12-18 Пенетрантность Андрей Василишин

18.12.2014 8:16, Vadim A. Misbakh-Soloviov пишет:

В письме от Ср, 17 декабря 2014 23:03:11 пользователь Андрей Василишин
написал:

на сервер,  нужен только функционал без поддержки.


А чего бы тогда просто не использовать (вкомпилировать) rtmp-модуль самому?




на ранних стадиях результат работы этогомодуля былплачевный, как счас - 
не знаю. ну и не только ртмп-модулем славен медиа сервер


___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Отключить acess_log внутри If

2014-11-26 Пенетрантность Андрей Василишин

Всем привет!
Есть ли элегантный способ исключить логирование чтобы зря не засорять 
access_log внутри такой конструкции, которая находится на уровне server?

if ($args ~ ^id=[0-9]{10,}msg=$) {
return 444;
}

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Как быть с LOIC ддосерами?

2014-06-03 Пенетрантность Андрей Василишин
Кто-то начал баловаться LOIC'ом вкаждом запросе добавляют аргументы 
вида: ?id=1401813985641msg=

где id всегда разный, а msg - пустой

Не могу понять как написать


if ($arg_id ~ [0-9]{10}  $arg_msg = '' ) {
return 444;
}

чтоб оно работало?

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Как прибить специфических ботов средствами Nginx

2014-06-01 Пенетрантность Андрей Василишин

01.06.2014 12:03, lisua пишет:

А, по существу по человечески про формат кастом лога я так понимаю мне никто
не ответит ?


Что сложно прочитать 
http://nginx.org/ru/docs/http/ngx_http_log_module.html#log_format и 
http://nginx.org/ru/docs/http/ngx_http_core_module.html#variables и 
составить свой лог-формат типа:


log_format bots '$remote_addr $http_keep_alive $http_accept_language'

и потом в конфиге хоста:
access_log  /var/log/nginx/bots.log;

Еще для удобства парсинга вместо пробела в лог-формате можно 
использовать другой какой-нибудь символ.



Задача не допустить зверят до бекенда Nginx стоит на фильтрующей проксе.

Ну коли мне тут из знатоков помогать не собирается, пожалуй я тоже своё
решение в паблик не выложу, это конечно хамство, но тут 2 варианта:

1) Никто не знает ответов на эти вопросы (именитые админы с форума SE
понтовались дай денег и тп, но никто ничего не предложил по факту также
никакого рабочего варианта)


напугали ежа голой жопой



2) Всячески пытаются склонить на термоядерную подписку по Nginx plus

Свой вопрос я в принципе решил уже самостоятельно, привет Grep, awk  и
Google :)



ну, вот же, главное захотеть.

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Модуль mp4: 500 Internal Server, pread() failed (22: Invalid argument),

2014-04-03 Пенетрантность Андрей Василишин

03.04.2014 15:24, Shold пишет:


Вообще, я про линух ничего не говорил, но да - стоит CentOS. ZFS пришел чуть
позже, чем была установлена и настроена система. Целью введения ZFS как раз
и было ускорение дисковой подсистемы. Про подводные камни согласен, но не
думал, что упрусь в aio ((
Посоветуйте Soft-RAID, на котором именно CentOS способен развивать
космические скорости. Ну и чтобы совместимость с aio была. Это принципиально
важно, потому как контент MP4, файлы большие и много (в сумме около 30ТБ).
Отдача активная (в пике до 700 параллельных скачиваний).


А зачем вообще рейд и как собираетесь уходить от текущей схемы?


___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Модуль mp4: 500 Internal Server, pread() failed (22: Invalid argument),

2014-04-03 Пенетрантность Андрей Василишин



700? Это шутка? Спросите у файловых хостингов, сколько у них параллельно...


на сервере с 20Гбит/с каналом разок видел 35к, а так 20-30к обычно

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: start time is out mp4 stsc chunks

2014-03-31 Пенетрантность Андрей Василишин



Но ведь это дорожка субтитров, получается, до 1.3.5 ее просто отбрасывало, а
после 1.5.10 не работает псевдостримминг.


Как я уже пытался объяснить выше, судя по всему, одни и те же
данные этой дорожки - относятся ко всему временному диапазону, и
эти данные располагаются в начале файла.  Т.к. при псевдостриминге
nginx отдаёт диапазон медиаданных, от первого байта самых ранних
данных какой-либо из дорожек и до конца файла, то в такой ситуации
псевдостриминг становится фактически бесполезен.  Приблизительно
то же самое будет если, например, аудио и видео дорожки не
перемешаны между собой, а записаны последовательно.



Спасибо!
Вот теперь понятно, может как-то предусмотреть все-таки  какой-то флаг, 
 чтобы можно было сделать поведение как в нгинкс  1.3.5? Что-то типа 
skpip_h264_aac on;


___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: start time is out mp4 stsc chunks

2014-03-28 Пенетрантность Андрей Василишин

28.03.2014 20:24, Maxim Dounin пишет:

Hello!

On Fri, Mar 28, 2014 at 07:18:37PM +0200, Андрей Василишин wrote:




Text
ID   : 3
Format   : Apple text
Codec ID : text
Duration : 1h 54mn
Bit rate mode: Variable
Bit rate : 0 bps
Delay relative to video  : -1s 24ms
Stream size  : 135 Bytes (0%)
Language : English


Видимо, проблема в этой дорожке.  Она не выглядит короткой, так
что скорее всего ошибка была из-за каких-то нюансов расположения
данных.  Но при этом она явно не перемешана с остальными дорожками
(просто из-за очень малого размера), и попытка отдать диапазон
файла начиная с такой-то секунды, видимо, требует отдачи
практически всего файла, т.к. для этой дорожки данные начинаются в
начале файла.

Наиболее простое решение - убрать из файла эту дорожку.



А как же обновление до nginx 1.5.10+, это непомогает?


Помогает, насколько я понял, ошибок же больше нет?

Последняя рекомендация касается того факта, что при перемотке
просто идёт скачивание файла.  Насколько я понимаю структуру
файла, любой или почти любой запрос медиаданных по времени - будет
включать практически весь файл целиком, и псевдостриминг теряет
смысл.




Но ведь это дорожка субтитров, получается, до 1.3.5 ее просто 
отбрасывало, а после 1.5.10 не работает псевдостримминг.


___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: start time is out mp4 stsc chunks

2014-03-27 Пенетрантность Андрей Василишин



Чтобы заработало - нужно либо убрать дорожки из файла, либо
обновится до nginx 1.5.10+:



Спасибо за ответы, Максим!
Но есть еще вопросы:
Обновился до
# nginx -V
nginx version: nginx/1.5.12
built by gcc 4.7.2 (Debian 4.7.2-5)
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx 
--conf-path=/etc/nginx/nginx.conf 
--error-log-path=/var/log/nginx/error.log 
--http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid 
--lock-path=/var/run/nginx.lock 
--http-client-body-temp-path=/var/cache/nginx/client_temp 
--http-proxy-temp-path=/var/cache/nginx/proxy_temp 
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp 
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp 
--http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=www-data 
--group=www-data --with-http_geoip_module --with-http_realip_module 
--with-http_flv_module --with-http_mp4_module 
--with-http_random_index_module --with-http_secure_link_module 
--with-http_stub_status_module --with-file-aio --with-http_spdy_module 
--with-cc-opt='-g -O2 -fstack-protector --param=ssp-buffer-size=4 
-Wformat -Werror=format-security' --with-ld-opt=-Wl,-z,relro --with-ipv6 
--with-debug


Теперь 500-ой общибки при перемотке нет, но при перемотке просто идет 
скачиваение файла и при этом не показывается в плеере ничего, кроме 
полосы загрузки.


Про какие дорожки речь?
# mediainfo file_720.mp4
General
Complete name: file_720.mp4
Format   : MPEG-4
Format profile   : Base Media
Codec ID : isom
File size: 995 MiB
Duration : 1h 54mn
Overall bit rate mode: Variable
Overall bit rate : 1 211 Kbps
Writing application  : Lavf55.19.104

Video
ID   : 1
Format   : AVC
Format/Info  : Advanced Video Codec
Format profile   : High@L3.1
Format settings, CABAC   : Yes
Format settings, ReFrames: 4 frames
Codec ID : avc1
Codec ID/Info: Advanced Video Coding
Duration : 1h 54mn
Bit rate : 1 024 Kbps
Width: 1 280 pixels
Height   : 532 pixels
Display aspect ratio : 2.40:1
Frame rate mode  : Constant
Frame rate   : 25.000 fps
Color space  : YUV
Chroma subsampling   : 4:2:0
Bit depth: 8 bits
Scan type: Progressive
Bits/(Pixel*Frame)   : 0.060
Stream size  : 832 MiB (84%)
Writing library  : x264 core 142
Encoding settings: cabac=1 / ref=2 / 
deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=6 / psy=1 / 
psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 
8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / 
threads=24 / lookahead_threads=4 / sliced_threads=0 / nr=0 / decimate=1 
/ interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / 
b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / 
weightp=1 / keyint=50 / keyint_min=5 / scenecut=40 / intra_refresh=0 / 
rc_lookahead=30 / rc=abr / mbtree=1 / bitrate=1024 / ratetol=1.0 / 
qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00

Language : English

Audio
ID   : 2
Format   : AAC
Format/Info  : Advanced Audio Codec
Format profile   : LC
Codec ID : 40
Duration : 1h 54mn
Bit rate mode: Constant
Bit rate : 192 Kbps
Channel(s)   : 6 channels
Channel positions: Front: L C R, Side: L R, LFE
Sampling rate: 48.0 KHz
Compression mode : Lossy
Delay relative to video  : -1s 24ms
Stream size  : 158 MiB (16%)
Language : Russian

Text
ID   : 3
Format   : Apple text
Codec ID : text
Duration : 1h 54mn
Bit rate mode: Variable
Bit rate : 0 bps
Delay relative to video  : -1s 24ms
Stream size  : 135 Bytes (0%)

output_buffers по дефолту

2013-11-27 Пенетрантность Андрей Василишин

Здравствуйте!
Ни в документации
нив вики не нашел, по дефолту чему равно output_buffers, работает ли 
директива без aio и directio для линукс?


___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: directio_alignment

2013-09-20 Пенетрантность Андрей Василишин

20.09.2013 18:05, Igor Sysoev пишет:

On Sep 20, 2013, at 18:43 , Anton Sayetsky wrote:


20 сентября 2013 г., 17:38 пользователь Igor Sysoev i...@sysoev.ru написал:

Нет.

Тогда можно ли краткий экскурс на тему того, почему стоит это делать
только для XFS?


На XFS это не оптимизация, а вынужденная мера.
Потому что на XFS размеры блоков не 512 байт, а 4096, и при выровненным на
512 чтении байт возвращается ошибка.




а про bigaaloc 1m в ext4 что скажете, имеет ли смысл делать выравнивание 
в 1м?


___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: directio_alignment

2013-09-20 Пенетрантность Андрей Василишин

20.09.2013 21:56, Валентин Бартенев пишет:


Оно при этом ломается?  Ещё раз, это *не* оптимизация, а вынужденная мера,
чтобы nginx при включении directio мог отдавать файлы, а не сыпал 500-ые ошибки
с записью в лог:

   [crit] pread() failed (22: Invalid argument) while sending response to client



нет не ломается, pread() ошибки нет при таком конфиге:

output_buffers  1 2m;
aio on;
directio  1m;
directio_alignment 1m;
limit_rate   80k;
limit_rate_after 10m;


___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Баг try_files + valid_referers

2013-08-29 Пенетрантность Андрей Василишин

location / {
index  index.php index.htm index.html;
root   /var/www/site.com;
try_files $uri
$uri/
/index.php?q=$uri$args
@backend;
rewrite 
^/([^\/]+/[^\/]+)/((s[\d]+)?(e[\d]+){1}(\-[\d]+)*)$ /$1.html?serie=$2;

rewrite ([^\/]+/[^\/]+.html)/$ /$1 permanent;
rewrite (tag/[^\/]+)/$ /$1 permanent;
valid_referers none server_names 
~(yandex|google|yahoo|bing|facebook|fbcdn|mail.ru|rambler|nigma|vk.com);

if ($invalid_referer) {
access_log  /var/log/nginx/site.com.invalid.log 
 main;

}
if ($a) {
access_log 
/var/log/nginx/a.site.com.access.log  main;

}

}


Почему-тоЮ, если приходит запрос с реферером, которого нет в 
valid_referers, try_files почему-то проверяет только $uri и потом 
возвращает сразу 404:


2013/08/29 11:06:34 [debug] 7188#0: *1851357643 http script var
2013/08/29 11:06:34 [debug] 7188#0: *1851357643 http script var: 1
2013/08/29 11:06:34 [debug] 7188#0: *1851357643 http script if
2013/08/29 11:06:34 [debug] 7188#0: *1851357643 http script var
2013/08/29 11:06:34 [debug] 7188#0: *1851357643 http geo started: 
176.104.57.123

2013/08/29 11:06:34 [debug] 7188#0: *1851357643 http geo:
2013/08/29 11:06:34 [debug] 7188#0: *1851357643 http script var: 
2013/08/29 11:06:34 [debug] 7188#0: *1851357643 http script if
2013/08/29 11:06:34 [debug] 7188#0: *1851357643 http script if: false
2013/08/29 11:06:34 [debug] 7188#0: *1851357643 post rewrite phase: 4
2013/08/29 11:06:34 [debug] 7188#0: *1851357643 generic phase: 5
2013/08/29 11:06:34 [debug] 7188#0: *1851357643 generic phase: 6
2013/08/29 11:06:34 [debug] 7188#0: *1851357643 generic phase: 7
2013/08/29 11:06:34 [debug] 7188#0: *1851357643 access phase: 8
2013/08/29 11:06:34 [debug] 7188#0: *1851357643 access phase: 9
2013/08/29 11:06:34 [debug] 7188#0: *1851357643 post access phase: 10

2013/08/29 11:06:34 [debug] 7188#0: *1851357643 try files phase: 11
2013/08/29 11:06:34 [debug] 7188#0: *1851357643 content phase: 12
2013/08/29 11:06:34 [debug] 7188#0: *1851357643 content phase: 13
2013/08/29 11:06:34 [debug] 7188#0: *1851357643 content phase: 14
2013/08/29 11:06:34 [debug] 7188#0: *1851357643 http filename: 
/var/www/site.com/series/univer-novaya-obschaga-serial.html
2013/08/29 11:06:34 [debug] 7188#0: *1851357643 add cleanup: 
019C3E58
2013/08/29 11:06:34 [error] 7188#0: *1851357643 open() 
/var/www/site.com/series/univer-novaya-obschaga-serial.html failed (2: 
No such file or directory), client: 176.104.57.123, server: site.com, 
request: GET /series/univer-novaya-obschaga-serial.html HTTP/1.1, 
host: site.com, referrer: 
http://www.top-page.ru/ya/?q=%D0%BD%D0%BE%D0%B2%D0%B0%D1%8F+%D0%BE%D0%B1%D1%89%D0%B0%D0%B3%D0%B0+%D0%BD%D0%BE%D0%B2%D1%8B%D0%B5+%D1%81%D0%B5%D1%80%D0%B8%D0%B8+%D1%81%D0%BC%D0%BE%D1%82%D1%80%D0%B5%D1%82%D1%8C+%D0%BE%D0%BD%D0%BB%D0%B0%D0%B9%D0%BD;
2013/08/29 11:06:34 [debug] 7188#0: *1851357643 http finalize request: 
404, /series/univer-novaya-obschaga-serial.html? a:1, c:1
2013/08/29 11:06:34 [debug] 7188#0: *1851357643 http special response: 
404, /series/univer-novaya-obschaga-serial.html?
2013/08/29 11:06:34 [debug] 7188#0: *1851357643 internal redirect: 
/errors/404.html?



Если закомментировать строки:
valid_referers none server_names 
~(yandex|google|yahoo|bing|facebook|fbcdn|mail.ru|rambler|nigma|vk.com);

if ($invalid_referer) {
access_log  /var/log/nginx/site.com.invalid.log 
 main;


 все идет как надо, то есть доходит до /index.php?q=$uri$args

# nginx -V
nginx version: nginx/1.2.4
configure arguments: --prefix=/etc/nginx 
--conf-path=/etc/nginx/nginx.conf 
--error-log-path=/var/log/nginx/error.log 
--http-client-body-temp-path=/var/lib/nginx/body 
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi 
--http-log-path=/var/log/nginx/access.log 
--http-proxy-temp-path=/var/lib/nginx/proxy 
--lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid 
--with-debug --with-file-aio --with-http_flv_module 
--with-http_geoip_module --with-http_mp4_module 
--with-http_realip_module --with-http_secure_link_module 
--with-http_stub_status_module --without-http_scgi_module 
--without-http_split_clients_module --without-http_ssi_module 
--without-http_userid_module --without-http_uwsgi_module


Ну, и чтоб два раза не вставать: какой альтернативный способ писать 
отдельный лог для invalid_referer?


___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Баг try_files + valid_referers

2013-08-29 Пенетрантность Андрей Василишин

29.08.2013 18:07, Maxim Dounin пишет:

Hello!

On Thu, Aug 29, 2013 at 04:56:39PM +0300, Андрей Василишин wrote:


29.08.2013 15:00, Maxim Dounin пишет:


Варианты - уйти в другой location и писать отдельный лог там,
писать лог с переменными в имени.



Что-то не могу придумать, как без  if это сделать.


По приведённой в предыдущем письме ссылке написано, как это
сделать, если вы про переход в другой location.

Делать это без if - не обязательно, достаточно обеспечить, чтобы
обработка запроса при попадании в if уходила в другой location
(i.e., использовать if + rewrite ... last или if + return).

http://wiki.nginx.org/IfIsEvil



Спасибо всем за ответы, в общем удалось сделать, то что хотел так:
error_page 410  = @invalid;
error_page 411  = @a;

location / {
index  index.php index.htm index.html;
root   /var/www/site.com;
try_files $uri
$uri/
/index.php?q=$uri$args
@backend;
rewrite 
^/([^\/]+/[^\/]+)/((s[\d]+)?(e[\d]+){1}(\-[\d]+)*)$ /$1.html?serie=$2;

rewrite ([^\/]+/[^\/]+.html)/$ /$1 permanent;
rewrite (tag/[^\/]+)/$ /$1 permanent;
valid_referers none server_names 
~(yandex|google|yahoo|bing|facebook|fbcdn|mail.ru|rambler|nigma|vk.com);

if ($invalid_referer) {
 return 410;
}
if ($a) {
 return 411;
}

}
location @a {
access_log  /var/log/nginx/a.site.com.access.log  main;
root   /var/www/site.com;
try_files $uri
$uri/
/index.php?q=$uri$args;
}
location @invalid {
access_log  /var/log/nginx/site.com.invalid.log  main;
root   /var/www/site.com;
try_files $uri
$uri/
/index.php?q=$uri$args;
}

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Проверка и отдача файла

2013-08-08 Пенетрантность Андрей Василишин

08.08.2013 17:57, init0 пишет:

Всем привет!

Есть проблема, необходимо проверять наличие кастомного файла robots.txt
лежащего НЕ в корне проекта.
Если этот файл существует, отдавать его.
Если не существует, отдавать стандартный robots.txt который лежит в корне
проекта, он там всегда есть.



Подможите чем можете!
Спасибо!



location /robots.txt {
try_files /path/to/custom$uri  $document_root$uri
}

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Задержки при proxy_cache + HLS

2013-05-27 Пенетрантность Андрей Василишин

27.05.2013 13:41, Anatoly Mikhailov пишет:


On May 27, 2013, at 11:32 AM, Андрей Василишин a.vasilis...@kpi.ua wrote:


27.05.2013 13:28, Anatoly Mikhailov пишет:

Проксирование перед медиа-сервером? Видео отдаете через HTTPS?
Если да, то чем это лучше отдачи через модуль псевдостримминга nginx_mp4_module?


нет, не HTTPS, лучше тем, что это HLS, помимо экономии трафика (почти в 2 раза) 
еще делает задачу парсинга сложновыполнимой.



интересно, за счет чего экономия трафика, такой уж большой оверхед у HTTP? Чем 
замеряли?
HLS - работает через корпоративные фаерволы?




Экономия за счет того, что не включают плей и потом забывают посмотреть, 
а файл полностью загружается, а смотрят ровно столько, сколько была 
нажата кнопка плей.
Замеряли cacti графики до и после использования по трафику почти в 2 
раза отличаются.


___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Задержки при proxy_cache + HLS

2013-05-27 Пенетрантность Андрей Василишин

27.05.2013 14:53, Eugene Mychlo пишет:


Можно немного поподробнее про задачу парсинга? Фраза не совсем понятна.


Ну, вот скажем перелить на свой сервер файл при nginx_mp4_module не 
составляет особого труда и при этом не потребуется пост обработка, а вот 
100500 кусочков HLS - уже проблема. Такая себе защита от клонирования 
контента на другие сайты, не знаю правда сколько проживет.




___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: epoll_ctl(3, 11) failed (2: No such file or directory)

2013-04-11 Пенетрантность Андрей Василишин

11.04.2013 1:27, Валентин Бартенев пишет:


Как минимум стоит сперва поставить одну из свежих поддерживаемых версий,
вместо devel более чем годичной давности. И избавиться от сторонних модулей.




Поставил 1.2.8 с тем же набором модулей,вроде проблема ушла. К сожалению 
 без nginx-upload-module и nginx-upload-progres никак, потеряется один 
из функционалов проекта.


--
WBR, Andrey Vasilishin CDIG1-UANIC, CDIG1-RIPE

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Request Entity Too Large

2013-03-28 Пенетрантность Андрей Василишин

28.03.2013 0:38, Maxim Dounin пишет:


Я стесняюсь спросить - а что показывает nginx -V?  В nginx'е из
коробки - влиять не должно, но сторонние модули такие модули.



Сторонних модулей нет, nginx -V приводил в первом сообщении.
По поводу того, что нгинкс не обновлялся - я соврал, обновлся до 
стандартного дебиановского nginx-extras 1.2.1,потом я его обновил до 
собственной сборки из дебиановских сорцов nginx-extras 1.2.4 (из сборки 
исключены все third party модули), но и с учетом множества рестартов 
новый 1.2.4 продолжал выдавать все туже ошибку, в дебаг-логе ничего 
подозрительного при этом нет. Потом поменял местами инклюд и еще один 
рестарт исправил ошибку.


___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: mp4 continuously updated file streaming

2013-03-28 Пенетрантность Андрей Василишин

28.03.2013 11:13, Daniel Podolsky пишет:

Посмотрите Nginx-rtmp-module, тотточно умеет стриммить,

Посмотрю, спасибо! Первое, что я хотел бы посмотреть - это под какую
задачу создавался модуль :) По набору директив похоже, что задача
близка к моей. Но хочется подробностей.


Стриммить умеет, при чем как потоки с пережатием или без, так файлы на диске
https://github.com/arut/nginx-rtmp-module/wiki/Examples


Быстрый гугл ничего не дал. Вернее - ссылок я получил много, но ни
одной с текстом модуль предназначен для :( Может быть, у Вас
есть ссылка на соответствующие материалы?




https://github.com/arut/nginx-rtmp-module/wiki/Tutorial

And you can add record support for live streams:

application live {

live on;

allow publish 127.0.0.1;
deny publish all;
allow play all;

record all;
record_path /path/to/record/dir;
record_max_size 100M;
record_unique off;

}


___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Request Entity Too Large

2013-03-28 Пенетрантность Андрей Василишин

Дико извиняюсь!
Аж самому стало стыдно и немного интересно, как оно работало раньше.

В общем было еще
include /etc/nginx/sites-enabled/*;

это уже когда от безысходности начал приводить конфиг к общему виду (как 
на других серверах) дописал машинально .conf и отправил строку с 
инклюдом в самый низ http {}


а в директории /etc/nginx/sites-enabled/ лежал старый конфиг с 
расширением conf.1 в котором client_max_body_size 10m;


и в нем же есть server_name _default
куда, как я присмотрелся еще раз в логи, и попал запрос.

2013/03/27 22:18:13 [notice] 26193#0: *6484 a client request body is 
buffered to a temporary file /tmp/005612, client: 10.0.0.5, server: 
_default, request: POST /encoder2/ajax/update/coding-files/ HTTP/1.1, 
host: 10.0.0.12, referrer: http://10.0.0.12/encoder2/;


Ради эксперимента перенес назад (над client_max_body_size 2048m; ) строку
include /etc/nginx/sites-enabled/*.conf;
и сделал рестарт, все работает никаких ошибок не выдает. Еще раз 
извиняюсь за излишнюю панику.







___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Странное поведение try_files

2013-03-13 Пенетрантность Андрей Василишин

13.03.2013 11:38, Vadim Lazovskiy пишет:

- try_files $image_path =404;
+ alias /disks/links/v-links/$image_path;

так заработало.

Просто для общего развития, не могли бы пояснить, что было не так?




А самому по дебаг логу не понятно?
В случае try_files 2 раза вставляется $image_path

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru