Re: Не правильный запрос на бэкенд после рерайта
Для начала - посмотреть внимательно на то, что написано в 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
Не правильный запрос на бэкенд после рерайта
Всем привет! Есть такой локейшн 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
Извиняюсь, может где-то пропустил анонс, репозиторий дебиан еще обновляется? ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
mp4 + ssl
Привет всем! В связи с поголовной 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 редирект работает не всегда?
> а вы по логам видите только обращения к счетчикам, или 200 к старому > домену ? > По логам вижу только 301 редирект и редкие 400 и 408 ошибки ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: 301 редирект работает не всегда?
> Если страница кэшируемая (например, без явного expires), то она может > быть оставлена в одном из табов, тогда счётчик сработает при очередном > запуске браузера без обращения к серверу. > просто странно, редирект со старого домена на новый был сделал уже пол года назад, а на старом домене все равно умудряются загружать счетчики ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: 301 редирект работает не всегда?
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
301 редирект работает не всегда?
Здравствуйте! Есть такая проблема, настроен 301 редирект с кучи доменов на основной, конфиг ниже. Все работает, в логах помино 301 редкие 400 и 408 ответы, но вот счетчик liveinternet, яндекс.вэбмастер все же показывает пару десятков хостов, которые по идее должны были быть отредирекчены на другой домен и их счетчики банально не должны были загрузится. Кто виноват и что делать, есть у кого-нибудь идеи? server { listen 80; server_name www.site.to site.cc www.site.cc www.site.tv site.tv; access_log /var/log/nginx/www.site.access.log main; error_log /var/log/nginx/www.site.error.log warn; rewrite ^(.*)$ http://site.to$request_uri permanent; } # 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 (running with OpenSSL 1.0.1t 3 May 2016) 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
Re: nginx и статический hls, странные падения скорости
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, странные падения скорости
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, странные падения скорости
> > Судя по графикам - вы в канал упираетесь. > Та вроде как нет, во всяком случае на аплинке еще запас не менее 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, странные падения скорости
Есть странная проблема, нгинкс после определенного времени начинает медленно отдавать сегменты 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 в готовых пакетах
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 в готовых пакетах
Заметил, что в готовых пакетах, взятых отсюда 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: Где брать динамические модули?
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
Где брать динамические модули?
Устанавливаю самый обычный нгинкс с репозитория 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
02.04.2016 22:34, tepkuh пишет: Под "убиванием файла" имелось ввиду пропадание сетевой файловой системы в связи с сетевым лагом А зачем вообще использовать сетевые ФС? ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: reverse proxy + mysql + video
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
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
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 и регистр
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 и регистр
Всем привет! Как сделать так, чтобы try_files искал файл без учета регистра. Есть часть расширение у файлов в верхнем регистре, часть в нижнем, ссылки все в нижнем регистре. ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: nginx-1.9.11
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 выдает айпи прокси а не клиента
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 выдает айпи прокси а не клиента
В конфиге прописано: 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
Re: geoip и прокси
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
geoip и прокси
Добрый день! Есть ли какая-нибудь возможность не имея списка прокси определять $geoip_country_code последнего адреса в “X-Forwarded-For”? Другими словами: надо точно определить откуда пришел юзер, даже если он за проксями. ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: lte lt gte gt conditions
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
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
Re: lte lt gte gt conditions
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
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
lte lt gte gt conditions
Добрый день всем! Хочу странного. Хочу делать limit_rate в зависимости от $connections_active и желательно без обращения на бэкенд за данной логикой. Как такое сделать? ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: X-Accel-Limit-Rate и limit_rate_after
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?
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?
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]
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: segfault at 0 ip 000000000042d9ae sp 00007ffdc4fe6e70 error 4 in nginx[400000+d4000]
Проблема воспроизводится в версии 1.8.0 # nginx -V nginx version: nginx/1.8.0 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_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-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 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: X-Accel-Limit-Rate и limit_rate_after
Поставлю вопрос по-другому, что будет, если в конфиге прописан 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
Есть задача в определенное время ограничивать поток, этим может заниматься бэкенд добавляя заголовок 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]
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 = timer = delta = #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 = c = #4 0x00429cc7 in ngx_spawn_process (cycle=cycle@entry=0x14c9c40, proc=proc@entry=0x42b1e0 , 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 = #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 = 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 = p = size = i = n = sigio = 0 set = {__val = {0 }} itv = {it_interval = {tv_sec = 0, tv_usec = 0}, it_value = {tv_sec = 0, tv_usec = 0}} live = delay = 0 ls = ccf = 0x14ca3c0 #7 0x00408801 in main (argc=, argv=out>) at src/core/nginx.c:415 b = log = 0x6e8ea0 i = 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 = ccf = (gdb) quit ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
segfault at 0 ip 000000000042d9ae sp 00007ffdc4fe6e70 error 4 in nginx[400000+d4000]
Есть такая проблема, в логах смотрю каждый день по 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 nginx[40+
Re: 414 Request-URI Too Large
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: 414 Request-URI Too Large
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
414 Request-URI Too Large
Всем привет! Есть такая проблема, задолбали школоддосеры. которы 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: замедление работы
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
Re: замедление работы
14.05.2015 15:57, denis пишет: Добрый день. Иногда приходится слышать (и видеть) - "поставили nginx, всё стало тормозить". Напрямую запросы быстрые, после включения nginx В режиме proxy_pass (статики тоже, ибо с другого сервера) - ощутимо медленнее, time curl подтверждает, например 5с против 0.3 Как диагностировать такие случаи? А кеширование используется? Или нгинкс в виде простой прокладки? ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: uploadprogress, странная обработка запросов
Разобрался, uploadprogress тут не причем. Всему виной было ssl on; ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
uploadprogress, странная обработка запросов
После обновления нгинкса с дотдебовского репозитория случилось что-то странное. Не вижу обработки запроса, сразу вылазит ошибка 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: быстрый запуск mp4
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
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
NGINX Media Server
Всем привет! Раз уж в соседнем топике затронули платность нгинкс, интересует не планируется ли случайно сделать лицензию наподобие Adobe Media Server 5 Standard и за те же деньги? То есть скажем покупаешь раз вечную лицензию на сервер, нужен только функционал без поддержки. ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Отключить acess_log внутри If
Всем привет! Есть ли элегантный способ исключить логирование чтобы зря не засорять 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
Re: падает nginx mp4 стриминг модуль
17.11.2014 13:00, kosmozoo пишет: Верно, в этом случае про tmpfs. Но насколько помню проблема возникала и при стриминге с диска. Возможно у вас есть идеи как решить для tmpfs ? Создать отдельный локейшн для тмпфс и отключить там директио ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Модуль ngx_http_mp4_module не переставляет moov-атом
30.09.2014 17:37, Алексей Щуров пишет: В нашем хранилище видео лежит с moov-атомом в конце файла и мы понимаем что предварительная подготовка решит проблему, но при нашем объеме видео подготовка и проверка займет очень много времени. И что сложно написать двухстрочечный скрипт, который по маске все файлы перелопатит и перенесет moov-атом. Не знаю, сколько у Вас там терабайт, но терабайт 10 за ночь вполне можно освоить. Это ж не перекодирование видео. модуль nginx_mod_h264_streaming искал moov-атом по файлу, что добавляло дисковых оперций. Перегнать все файлы qt-faststart /source/file.mp4 /destination/file.mp4 не так уж и сложно. ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Как быть с LOIC ддосерами?
Самый простой способ - проверить всю строку, вместо отдельных её частей: 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 ддосерами?
Кто-то начал баловаться LOIC'ом вкаждом запросе добавляют аргументы вида: ?id=1401813985641&msg= где 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
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),
Рэйд реально нужен. Матчасть не знаю, но подозреваю, что нагрузка на отдельный хард в рэйде несколько ниже, чем в режиме рассыпанных хардов. И действительно, на практике увидел снижение нагрузки почти в 2 раза. Но нам этого немного не хватает. aio реально бы спас ситуацию. Уходить от текущей схемы по тому же алгоритму, как и пришли на нее. ZFS настраивался недавно. В общем, эта ветка обсуждения уже ушла от темы. Предлагаю не развивать. Как-то плохо Вы подозреваете и непонятно как это увидели, разве что на тестах ab Тут уже кстати один раз был холивар по поводу рейдов, можете окунуться в историю http://forum.nginx.org/read.php?21,68014,79023#msg-79023 ___ 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),
700? Это шутка? Спросите у файловых хостингов, сколько у них параллельно... на сервере с 20Гбит/с каналом разок видел 35к, а так 20-30к обычно ___ 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),
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: start time is out mp4 stsc chunks
Но ведь это дорожка субтитров, получается, до 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
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
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+, это непомогает? ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: start time is out mp4 stsc chunks
Чтобы заработало - нужно либо убрать дорожки из файла, либо обновится до 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%) Lang
start time is out mp4 stsc chunks
Добрый день! Есть такая проблема: есть 2 сервера с одинаковым конфигом, но разными нгинксами, на первом такой: # 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 -V nginx version: nginx/1.5.7 built by gcc 4.7.2 (Debian 4.7.2-5) 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_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-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 Один и тот же файл mp4 на первом проигрывается и перематывается нормально, а навтором при перемотке возникает ошибка: 2014/03/26 14:01:55 [debug] 51008#0: *118478378 start_sample:16, new count:1 2014/03/26 14:01:55 [debug] 51008#0: *118478378 mp4 stss atom update 2014/03/26 14:01:55 [debug] 51008#0: *118478378 mp4 ctts atom update 2014/03/26 14:01:55 [debug] 51008#0: *118478378 mp4 stsc atom update 2014/03/26 14:01:55 [debug] 51008#0: *118478378 start_sample:16, chunk:1, chunks:0, samples:36 2014/03/26 14:01:55 [error] 51008#0: *118478378 start time is out mp4 stsc chunks in "/var/www/test.com-mst3/files/hd_01/file_720.mp4", client: 176.104.55.60, server: test.com, request: "GET /s/91f3ee1ab9adaf461376a5e94e4f0eb7/hd_01/file_720.mp4?start=3072.76 HTTP/1.1", upstream: "http://127.0.0.1:8080/kino.php?code=91f3ee1ab9adaf461376a5e94e4f0eb7&film=hd_01/file_720.mp4&start=3072.76";, host: "test.com", referrer: "http://filmix.net/uppod.swf"; 2014/03/26 14:01:55 [debug] 51008#0: *118478378 free: 05600010 2014/03/26 14:01:55 [debug] 51008#0: *118478378 free: 0201DAB0 2014/03/26 14:01:55 [debug] 51008#0: *118478378 http finalize request: 500, "/test.com-mst3/files/hd_01/file_720.mp4?code=91f3ee1ab9adaf461376a5e94e4f0eb7&film=hd_01/file_720.mp4&start=3072.76" a:1, c:2 2014/03/26 14:01:55 [debug] 51008#0: *118478378 http special response: 500, "/test.com-mst3/files/hd_01/file_720.mp4?code=91f3ee1ab9adaf461376a5e94e4f0eb7&film=hd_01/file_720.mp4&start=3072.76" 2014/03/26 14:01:55 [debug] 51008#0: *118478378 HTTP/1.1 500 Internal Server Error Server: nginx/1.5.7 Кто виноват и что делать? ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: лимиты активных соединений?
02.02.2014 15:10, denis пишет: Подскажите, где проходит грань между балансировщиком на nginx и аппаратным? Есть опыт работы системы, когда nginx-status говорил про 5к Reading: 6 Writing: 354 Waiting: 4623 А где проходит грань, когда уже нужно что-то аппаратное смотреть? Поделитесь опытом нагруженного использования... Нигде http://gyazo.com/00c59046720d608174350f01f7d56892.png http://gyazo.com/e464b90f17e864c9252591aace12c396.png ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: output_buffers по дефолту
27.11.2013 21:05, Maxim Dounin пишет: Hello! On Wed, Nov 27, 2013 at 08:43:24PM +0200, Андрей Василишин wrote: Здравствуйте! Ни в документации нив вики не нашел, по дефолту чему равно output_buffers, работает ли директива без aio и directio для линукс? Default - 1 буфер размером 32k. Директива работает всегда, когда нужно прочитать ответ с диска. как я понял, с sendfile on; не работает. ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
output_buffers по дефолту
Здравствуйте! Ни в документации нив вики не нашел, по дефолту чему равно output_buffers, работает ли директива без aio и directio для линукс? ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: directio_alignment
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
Re: directio_alignment
20.09.2013 18:05, Igor Sysoev пишет: On Sep 20, 2013, at 18:43 , Anton Sayetsky wrote: 20 сентября 2013 г., 17:38 пользователь Igor Sysoev написал: Нет. Тогда можно ли краткий экскурс на тему того, почему стоит это делать только для 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: Баг try_files + valid_referers
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: Баг try_files + valid_referers
29.08.2013 15:00, Maxim Dounin пишет: Варианты - уйти в другой location и писать отдельный лог там, писать лог с переменными в имени. Что-то не могу придумать, как без if это сделать. ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Баг try_files + valid_referers
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: Проверка и отдача файла
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: Обработка error_page 405
24.07.2013 11:12, Maxim Dounin пишет: Строка "error_page 404 = @backend;" как бы намекает. Я как-то даже и не подумал, что описанный error_page для другой ошибки, может влиять на все остальные. ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Обработка error_page 405
24.07.2013 3:31, Maxim Dounin пишет: Hello! On Wed, Jul 24, 2013 at 12:58:54AM +0300, Андрей Василишин wrote: 23.07.2013 14:38, Maxim Dounin пишет: Hello! On Tue, Jul 23, 2013 at 12:00:14AM +0300, Андрей Василишин wrote: Есть такая конструкция: error_page 405 /errors/405.html; location = / { if ($request_method = POST) { return 405; } } location ^~ /errors/ { root /var/www; } но при POST / отдается стандартная нгинксовкая 405 Not Allowed Видимо, конструкция не совсем такая, и либо там, где обрабатывается запрос, нет error_page 405, либо после пренаправления снова делается return 405. Есть конечно еще локейшн location / { } без обработки POST, да и error_page 405 /errors/405.html; вынесено уровень server. Ну и в логах видно что запрос обрабатывается таки там больше нигде в конфиге нет return 405; [...] 2013/07/22 23:35:11 [debug] 28849#0: *3880899164 http script equal 2013/07/22 23:35:11 [debug] 28849#0: *3880899164 http script if 2013/07/22 23:35:11 [debug] 28849#0: *3880899164 http finalize request: 405, "/?" a:1, c:1 2013/07/22 23:35:11 [debug] 28849#0: *3880899164 http special response: 405, "/?" 2013/07/22 23:35:11 [debug] 28849#0: *3880899164 http set discard body 2013/07/22 23:35:11 [debug] 28849#0: *3880899164 HTTP/1.1 405 Not Allowed [...] Debug log как бы намекает, что error_page 405 в location = / нет. Скорее всего, имеет смысл перечитать документацию, http://nginx.org/r/error_page/ru, особенно вот это предолжение: : Директивы error_page наследуются с предыдущего уровня при : условии, что на данном уровне не описаны свои директивы : error_page. Ну, так на уровне location нет своей директивы error_page И ещё раз внимательно посмотреть на содержимое location = /. Полное содержимое: location = / { if ($request_method = POST) { return 405; } root /var/www; try_files $uri $uri/ /index.php?q=$uri&$args; index index.php index.htm index.html; error_page 404 = @backend; } ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Обработка error_page 405
23.07.2013 14:38, Maxim Dounin пишет: Hello! On Tue, Jul 23, 2013 at 12:00:14AM +0300, Андрей Василишин wrote: Есть такая конструкция: error_page 405 /errors/405.html; location = / { if ($request_method = POST) { return 405; } } location ^~ /errors/ { root /var/www; } но при POST / отдается стандартная нгинксовкая 405 Not Allowed Видимо, конструкция не совсем такая, и либо там, где обрабатывается запрос, нет error_page 405, либо после пренаправления снова делается return 405. Есть конечно еще локейшн location / { } без обработки POST, да и error_page 405 /errors/405.html; вынесено уровень server. Ну и в логах видно что запрос обрабатывается таки там больше нигде в конфиге нет return 405; Дебаг: 2013/07/22 23:35:11 [debug] 28849#0: *3880899164 generic phase: 0 2013/07/22 23:35:11 [debug] 28849#0: *3880899164 rewrite phase: 1 2013/07/22 23:35:11 [debug] 28849#0: *3880899164 http script var 2013/07/22 23:35:11 [debug] 28849#0: *3880899164 http script var: "http://site.com/pi.php"; 2013/07/22 23:35:11 [debug] 28849#0: *3880899164 http script regex: "(x|y)" 2013/07/22 23:35:11 [notice] 28849#0: *3880899164 "(x|y)" does not match "http://site.com/test.php";, client: 176.104.57.123, server: site.com, request: "POST / HTTP/1.1", host: "site.com", referrer: "http://site.com/test.php"; 2013/07/22 23:35:11 [debug] 28849#0: *3880899164 http script if 2013/07/22 23:35:11 [debug] 28849#0: *3880899164 http script if: false 2013/07/22 23:35:11 [debug] 28849#0: *3880899164 test location: "/" 2013/07/22 23:35:11 [debug] 28849#0: *3880899164 using configuration "=/" 2013/07/22 23:35:11 [debug] 28849#0: *3880899164 http cl:2 max:2102394880 2013/07/22 23:35:11 [debug] 28849#0: *3880899164 rewrite phase: 3 2013/07/22 23:35:11 [debug] 28849#0: *3880899164 http script var 2013/07/22 23:35:11 [debug] 28849#0: *3880899164 http script var: "POST" 2013/07/22 23:35:11 [debug] 28849#0: *3880899164 http script value: "POST" 2013/07/22 23:35:11 [debug] 28849#0: *3880899164 http script equal 2013/07/22 23:35:11 [debug] 28849#0: *3880899164 http script if 2013/07/22 23:35:11 [debug] 28849#0: *3880899164 http finalize request: 405, "/?" a:1, c:1 2013/07/22 23:35:11 [debug] 28849#0: *3880899164 http special response: 405, "/?" 2013/07/22 23:35:11 [debug] 28849#0: *3880899164 http set discard body 2013/07/22 23:35:11 [debug] 28849#0: *3880899164 HTTP/1.1 405 Not Allowed Server: nginx/1.2.4 Date: Mon, 22 Jul 2013 20:35:11 GMT Content-Type: text/html Content-Length: 172 Connection: keep-alive ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Обработка error_page 405
Есть такая конструкция: error_page 405 /errors/405.html; location = / { if ($request_method = POST) { return 405; } } location ^~ /errors/ { root /var/www; } но при POST / отдается стандартная нгинксовкая 405 Not Allowed ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Задержки при proxy_cache + HLS
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: Задержки при proxy_cache + HLS
27.05.2013 13:41, Anatoly Mikhailov пишет: On May 27, 2013, at 11:32 AM, Андрей Василишин 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
27.05.2013 13:28, Anatoly Mikhailov пишет: Проксирование перед медиа-сервером? Видео отдаете через HTTPS? Если да, то чем это лучше отдачи через модуль псевдостримминга nginx_mp4_module? нет, не HTTPS, лучше тем, что это HLS, помимо экономии трафика (почти в 2 раза) еще делает задачу парсинга сложновыполнимой. ___ 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)
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
epoll_ctl(3, 11) failed (2: No such file or directory)
Добрый вечер! Сегодня непонятно почему на работающей уже не один месяц системе вдруг начал падать нгинкс В ерор логе куча записей, лог разрастается с неимоверной скоростью и забивает диск под 0: 2013/04/10 22:24:05 [alert] 17334#0: epoll_ctl(3, 11) failed (2: No such file or directory) 2013/04/10 22:24:05 [alert] 17334#0: epoll_ctl(3, 11) failed (2: No such file or directory) # tail /var/log/messages Apr 10 22:22:42 s4 kernel: [2786136.647694] nginx[21492]: segfault at 0 ip 7f959ff00a79 sp 7fffbf8e52c0 error 4 in libc-2.13.so[7f959fe85000+18] Apr 10 22:23:31 s4 kernel: [2786185.477983] nginx[19815] general protection ip:405e18 sp:7fffbf8e5320 error:0 in nginx[40+99000] Apr 10 22:23:33 s4 kernel: [2786187.675622] nginx[21494] general protection ip:407e85 sp:7fffbf8e51d0 error:0 in nginx[40+99000] Apr 10 22:24:15 s4 kernel: [2786229.578820] nginx[21488] general protection ip:437b7a sp:7fffbf8e52a0 error:0 in nginx[40+99000] Apr 10 22:24:16 s4 kernel: [2786230.540701] nginx[17312] general protection ip:7f959fefd895 sp:7fffbf8e5200 error:0 in libc-2.13.so[7f959fe85000+18] Apr 10 22:24:27 s4 kernel: [2786242.111014] nginx[17335] general protection ip:425411 sp:7fffbf8e4910 error:0 in nginx[40+99000] Apr 10 22:24:47 s4 kernel: [2786261.332506] nginx[17330] general protection ip:4326f5 sp:7fffbf8e5300 error:0 in nginx[40+99000] Apr 10 22:25:08 s4 kernel: [2786282.498360] nginx[18137] general protection ip:407e85 sp:7fffbf8e51d0 error:0 in nginx[40+99000] Apr 10 22:25:15 s4 kernel: [2786289.181497] nginx[17321] general protection ip:4326f5 sp:7fffbf8e5300 error:0 in nginx[40+99000] Apr 10 22:25:38 s4 kernel: [2786312.975670] nginx[21520]: segfault at 0 ip 7f959ff00a79 sp 7fffbf8e52c0 error 4 in libc-2.13.so[7f959fe85000+18] Что это может быть? # nginx -V nginx version: nginx/1.1.14 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 --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --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_uwsgi_module --add-module=/home/andron/nginx-1.1.14/debian/modules/nginx-upload-module --add-module=/home/andron/nginx-1.1.14/debian/modules/nginx-upload-progress -- WBR, Andrey Vasilishin CDIG1-UANIC, CDIG1-RIPE ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: веб-камера
09.04.2013 21:23, Victor Sudakov пишет: Коллеги, Не решал ли кто задачу кэширования видео с вебкамеры, например типа D-Link DCS-2130? Чтобы нагрузка от многих пользователей приходилась на веб-сервер (прокси), а не на собственно камеру. Решал когда-то с длинками (модели уже не помню) с помощью VLC -- 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
Дико извиняюсь! Аж самому стало стыдно и немного интересно, как оно работало раньше. В общем было еще 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: mp4 continuously updated file streaming
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: mp4 continuously updated file streaming
28.03.2013 10:06, Daniel Podolsky пишет: Добрый день! Не смог придумать адекватный запрос к гуглу, хоть и попробовал несколько раз. У меня есть ip-камера и vlc, который пишет поток с нее в файл. Хочется раздавать этот файл nginx-ом, причем - в псевдо-live режиме, с отставанием на, к примеру, секунду от текущего времени. В этой связи - два вопроса: 1) Умеет ли ngx_http_mp4_module стримить файл, в конец которого происходит запись? 2) Можно ли поуправлять из встроенного перла параметром start для ngx_http_mp4_module? Спасибо. С уважением, Даниил Подольский. PS Что vlc умеет не только писать на диск, но и стримить - я в курсе. Но хочется и live, и архив отдавать единообразно. Посмотрите Nginx-rtmp-module, тотточно умеет стриммить, еще стриммить и сохранять поток умеет wowza. ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Request Entity Too Large
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: Request Entity Too Large
Сам же себе и отвечу. Не работающий конфиг: include /etc/nginx/sites-enabled/*.conf; client_max_body_size 2048m; client_body_temp_path /tmp; client_body_in_file_only clean; Работающий конфиг: client_max_body_size 2048m; client_body_temp_path /tmp; client_body_in_file_only clean; include /etc/nginx/sites-enabled/*.conf; Не думал, что порядок вставки инклюда с виртуалхостами влияет на к ним применение директив описанных в http { } ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Request Entity Too Large
Здравствуйте! После обновления системы появилась странная ошибка,хотя нгинкс не обновлялся. В конфиге всю жизнь было прописано (и сейчас тоже): client_max_body_size 2048m; client_body_temp_path /tmp; client_body_in_file_only clean; В папке /tmp приаплоадесоздает куча файлов размером 71 байт: -rw--- 1 www-data www-data71 Мар 27 20:46 016025 Содержимое файла # cat /tmp/016025 File=File&security_key=c2734b0030cb695809aa2a38c98d2e1b&properties=null Почему-то самого тела передаваемого файла нигде нет, ну и в конце алоада выдает такую ошибку,хотя размер файла гораздо меньше 2048Мб. # 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: Странное поведение try_files
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
Re: Что-то похожее на rtmp-module для Win версии
22.02.2013 9:38, ValeriyZ пишет: Да пару дней поковырялся в VLC. Не сильно он дружит с rtmp, а отдавать rtmp он вообще не хочет (нет возможности). Пробовал перегнать поток в http но после этого даже другой VLC его открывать не хочет. Хотя если файл в http то вполне нормально получается. Потому снова вернулся к nginx. Нашел простой способ, беру rtmp порток и с помощью ffmpeg делаю http. Как я понимаю Win версия NGINX может работать http, но как это сделать незнаю. Повторю еще раз задачу, она чуть поменялась: На входе есть один http поток видео, нужно его раздать клиентам не увеличивая нагрузку на входящий поток. Такое возможно в Win версии NGINX? Не умеет нгинкс работать с потоками, а вот vlc с этой задачей справляется на ура, сам не раз так делал, под винду в том числе под линукс как-то так: sudo -u vlc /usr/bin/vlc -I dummy -d --repeat --loop --no-interact --ipv4\ http://source_ip:port\ --sout '#standard{access=http,mux=ts,dst=dest_ip:port}' В винде Ctrl+n -> Alt+s и если правильно все заполнить, то в "Строка вывода генерируемого потока" получим тоже что, и для линукс версии. -- WBR, Andrey Vasilishin CDIG1-UANIC, CDIG1-RIPE ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Что-то похожее на rtmp-module для Win версии
18.02.2013 18:01, ValeriyZ пишет: Есть видео поток (http) со слабого сервера и слабого инет канала. В дата центре есть мощный Windows сервер с хорошим инет каналам. Хотелось бы с помощью nginx организовать онлайн трансляцию видео. Первое что нашел это nginx-rtmp-module однако его нет в Win сборке. Если ли какие-нибудь другие возможности nginx раскинуть один входящий поток на много пользователей? Зачем Вам такой велосипед? http://www.jpsaman.org/vlc/rtmp -- WBR, Andrey Vasilishin CDIG1-UANIC, CDIG1-RIPE ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru