Quantcast
Channel: Nginx Forum - Nginx Mailing List - Russian
Viewing all 3102 articles
Browse latest View live

повторная загрузка модуля (1 reply)

$
0
0
Прошу прощения за глупый вопрос, но, что-то, в коде у меня сходу не получилось
найти ответ на этот вопрос...

Как NginX относится к повторной загрузке динамического модуля (если
load_module с тем же самым модулем будет вызван несколько раз)?
Особенно, в случае, когда некоторым другим модулям важно чтобы указанный был
загружен раньше них (и первый инстанс таки был загружен до них, а потом
загружен повторно).

Или, наоборот, если модулю важно быть загруженным как можно раньше
(mod_security, там, какой-нибудь, naxsi и иже с ними), и он таки был, а потом
был "загружен" повторно.
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

fastcgi_cache_valid игнорирует время кеширования (no replies)

$
0
0
имеется

location /ajax/ops {

default_type application/json;
add_header Charset utf-8;

fastcgi_cache_lock on;
fastcgi_cache_lock_timeout 1s;
fastcgi_cache_key "$scheme$request_method$host$request_uri";
fastcgi_cache MYAPP;
fastcgi_cache_valid 200 20s;
fastcgi_cache_min_uses 0;
add_header X-CACHE $upstream_cache_status;
fastcgi_ignore_headers Cache-Control Expires Set-Cookie;
fastcgi_hide_header "Set-Cookie";
root /var/www
include fastcgi_params;
fastcgi_pass backend;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/index.php;
access_log /var/log/nginx/ops.log;
}


при этом по факту все кешируется не на 20 секунд а на 5
в чем может быть дело?

Проблема с поддержкой старых протоколов после обновления (2 replies)

$
0
0
nginx                             1.13.5-1
openssl                           1.1.0f-5
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl_certificate /etc/nginx/ssl/chained.crt;
ssl_certificate_key /etc/nginx/ssl/ssl.key;
ssl_dhparam /etc/nginx/ssl/dhparam.pem;
ssl_prefer_server_ciphers on;
ssl_ciphers EECDH:+AES256:-3DES:RSA+AES:RSA+3DES:!NULL:!RC4;
ssl_ecdh_curve prime256v1;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/nginx/ssl/ocsp.crt;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";
#add_header X-Frame-Options SOMEORIGIN;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block;";
SSL тест сообщает:
Protocols
TLS 1.3 No
TLS 1.2 Yes
TLS 1.1 No
TLS 1.0 No
SSL 3 No
SSL 2 No

Старые браузеры, соотв., поотваливались
Подскажите, пожалуйста, как вернуть поддержку старых версий TLS?

С уважением,
Максим Баштовой
www.sho0ter.com
mail@sho0ter.com_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

При настройке формата логов, некоторые поля отсутствуют или стоят не на своих местах (2 replies)

$
0
0
nginx version: nginx/1.12.1

Вот при таком формате логов: '[proxy ($upstream_cache_status) : $proxy_host $upstream_addr $upstream_response_time $upstream_status ], когда все работает логи пишутся правильно. Но когда хосты в апстримах выдают ошибки в логах отображается что-то не понятное. Вот примеры:
1 [proxy (-) : - ip1:port1, ip2:port2 7.133, 13.312 502, 502 ]
2 [proxy (-) : - ip1:port, ip2:port, ip3:port, ip4:port, ip5:port, ip6:port, upstream1 7.260, 7.168, 7.168, 7.168, 7.168, 7.168, 0.000 502, 502, 502, 502, 502, 502, 502 ]

В первом примере нет $proxy_host, а во втором $proxy_host нет на своем месте, но он появился в списке адресов апстримов (upstream1).

Структура статистики по nginx (no replies)

$
0
0
Раньше видел информацию о том что можно отслеживать статистику по токен ключам.
Суть задачи.
Есть некий плеер с которого нужно считывать статистику. К примеру он находится у меня на сайте(АДМ других сайтов используют мой плеер) а нужно узнать статистику на другом сайте где размещенный данный плеер.
Каким образом это сделать или скажите где нужно копать, ведь я в этом не разбросаюсь.
Всем спасибо

ngx_http_mirror_module в стабильной версии (2 replies)

$
0
0
Добрый день, товарищи!

Вопрос к сотрудникам компании NGINX, Inc - в какие, примерно, сроки
можно ожидать появления модуля ngx_http_mirror_module в стабильной
версии nginx? Случится ли это до НГ?

Спрашиваю потому, что функционал этот зело полезен в запускающемся
проекте, но одновременно есть жёсткое требование "использовать только
стабильную ветку".

Если до НГ модуль не попадает в стабильную версию - будем искать другие
варианты...

--
Best regards,
Andrey A. Kopeyko <andrey@kopeyko.ru>
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Proxy_cache (no replies)

$
0
0
Доброго дня комрады! С Ngnix знаком неделю, сроки горят. Настраиваю связку nginx+gunicorn+memcached+postgresql+Django
Уперся в одну задачу, пол дня ковыряю ни как решение найти не могу.
Задача такая есть два сервера nginx1 nginx2, необходимо что бы первый сервер кэшировал объекты (медиафайлы, картинки) на втором, а второй сервер кэшировал на первом.
Как создать локальный кэш я разобрался, а как заставить кэшировать на другой машине ни как понять не могу,
Есть идея просто при монтировать диру с другого сервера. Но почему то кажется что в Ngnix это делается по другому. Подскажите личным примером либо статьей из гугла.

nginx is hiring: PS engineer (no replies)

$
0
0
Добрый день.

Мы ищем инженера в отдел профессионального сервиса в московский офис Nginx.

Задачи:
* профессиональный сервис так или иначе связанный с nginx/nginx-plus: установка,настройка nginx, аудит конфигурации, консультирование, нагрузочное тестирование, поиск узких мест в производительности.
* поддержка и развитие внутренней инфраструктуры

Требования:
* знание и понимание современных unix архитектур, tcp/ip & networks;
* знание одного или нескольких скриптовых языков. Python предпочтителен. Придется иметь дело с lua, javascript, perl.
* навыки чтения кода на C
* технический английский. Базовый устный английский

Желательно:
* хорошее знание протокола HTTP
* навыки и опыт использования perf, dtrace, systemtap
* опыт работы в highload проектах

С нашей стороны:
* работа в проекте с международным признанием, в небольшом коллективе разработчиков и инженеров.
* опыт работы над проектами компаний из Fortune-500
* конкурентная зарплата, ДМС, гибкий график работы, участие в опционной программе.

Работа в Москве, полная занятость, вариант с удаленной работой, увы, не подходит.

Если вы заинтересованы в вакансии, пожалуйста, присылайте ваши CV на sb@nginx.com
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

nginx-1.13.6 (1 reply)

$
0
0
Изменения в nginx 1.13.6 10.10.2017

*) Исправление: при использовании директивы ssl_preread в модуле stream
не работало переключение на следующий бэкенд.

*) Исправление: в модуле ngx_http_v2_module.
Спасибо Piotr Sikora.

*) Исправление: nginx не поддерживал даты после 2038 года на 32-битных
платформах с 64-битным time_t.

*) Исправление: в обработке дат до 1970 года и после 10000 года.

*) Исправление: в модуле stream таймауты ожидания UDP-пакетов от
бэкендов не логгировались или логгировались на уровне info вместо
error.

*) Исправление: при использовании HTTP/2 nginx мог вернуть ошибку 400,
не указав в логе причину.

*) Исправление: в обработке повреждённых файлов кэша.

*) Исправление: при кэшировании ошибок, перехваченных error_page, не
учитывались заголовки управления кэшированием.

*) Исправление: при использовании HTTP/2 тело запроса могло быть
повреждено.

*) Исправление: в обработке адресов клиентов при использовании unix
domain сокетов.

*) Исправление: при использовании директивы "hash ... consistent" в
блоке upstream nginx нагружал процессор, если использовались большие
веса и все или почти все бэкенды были недоступны.


--
Maxim Dounin
http://nginx.org/
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

при изменении static файла nginx отдает мусор (BUG?) (3 replies)

$
0
0
Ubuntu 16.04
nginx -v 1.12.1

При изменении static файла nginx отдает мусор несколько секунд


имеем тривиальный location:

location ~ \.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|bmp|rtf|js|ico|swf|xml|mp3|html|svg)$
{
root /var/www;
etag on;
}

меняю текстовый файл, расположенный в в данном location
и наблюдаю следующую картину:

по http заголовкам видно, что первые 5-15 секунд скачет вперед-назад во времени заголовок "Last-Modified"
и "Content-length" и "Etag"

как будто nginx отдает разные файлы, через несколько секунд это прекращается и nginx отдает корректный файл,
с правильным содержимым


проверял в real time следующим образом:

с соседнего хоста каждые 0.5 секунды выводил результат прямого коннекта на порт:

nc testserver 80 < in.txt


in.txt:
GET /test.txt HTTP/1.1
HOST: blablahost
-----------------------------


при 300-500 rps клиенты успевают нахватать некорректных js/css файлов, что ломает отображение сайта во время деплоя



для наглядности записал минутную gif'ку

https://drive.google.com/open?id=0B7WRF7P_dq4gcFEyTWljNElfeGs

обратите внимание как скачет "Content-length" и "Etag"

Ошибка при использовании Reverse proxy и ssl (no replies)

$
0
0
Здравствуйте.
Неожиданно один из сайтов перестал работать извне. В логах появились ошибки
2017/10/12 09:22:19 [error] 10729#0: *580 peer closed connection in SSL handshake (54: Connection reset by peer) while SSL handshaking to upstream, client: 83.169.216.72, server: mydomain.ru, request: "GET /favicon.ico HTTP/1.1", upstream: "https://192.168.255.4:443/favicon.ico", host: "mydomain.ru", referrer: "https://mydomain.ru/"

Nginx настроен следующим образом
server {
listen 443 ssl;
server_name mydomain.ru;

ssl_certificate /usr/local/etc/nginx/ssl/certificate.crt;
ssl_certificate_key /usr/local/etc/nginx/ssl/private.key;

location / {
proxy_pass https://mydomain.ru;
}
}

Сертификаты на серверах одинаковые, mydomain.ru разрешается в разные адреса в зависимости от адреса клиента, т.е. клиенты извне присылают запросы на nginx, тот пересылает запросы на сервер внутри сети, клиенты в локальной сети отправляют запросы на сервер, минуя nginx.

Я не могу никак понять почему nginx сам разрешает имя mydomain.ru в локальный ip адрес и посылает запрос используя ip адрес, а не доменное имя.

Аналогичным образом настроены другие сервера и они работают.

nginx version: nginx/1.8.1

Правильно отдать статику (2 replies)

$
0
0
Всем доброго времени суток, я фронт енд разработчик, потому сильно не ругайте, думаю, вопрос относительно банальный, у меня SPA, но когда я перехожу на урлу типа

hostname/page/subpage сервер (при этом, пути на статику у меня относительные, в силу особенность аппликации не могу установить абсолютные)

то браузер соответственно ищет статику по адресу hostname/page/js ну или hostname/page/css, а она лежит по hostname/js, hostname/css ну и не найдя соответственно возвращает мне index.html (как указано в try_files)

вот конфиг хоста

server {
listen 80;
server_name <hostname> ; //урла указана валидная, тут просто заменил
root <root_path>; //паснейм указан валидный, тут просто заменил
index index.html;

client_body_timeout 10s;
client_header_timeout 10s;

include /usr/local/etc/nginx/mime.types;
client_body_buffer_size 128k;
proxy_max_temp_file_size 0;


include /etc/nginx/conf.d/iplist/blacklist_*.conf;
include /tmp/nginx-blacklist*.conf;

charset UTF-8;

location / {
try_files $uri /index.html;
}

}


как сделать правильно?

nginx-1.12.2 (no replies)

$
0
0
Изменения в nginx 1.12.2 17.10.2017

*) Исправление: клиентские SSL-соединения сразу закрывались, если
использовался отложенный accept и параметр proxy_protocol директивы
listen.

*) Исправление: клиентские соединения могли сбрасываться при
тестировании конфигурации, если использовался параметр reuseport
директивы listen на Linux.

*) Исправление: на 32-битных платформах при запросе более 4 гигабайт с
помощью нескольких диапазонов возвращалась некорректная длина ответа.

*) Исправление: при использовании директивы ssl_preread в модуле stream
не работало переключение на следующий бэкенд.

*) Исправление: при использовании HTTP/2 тело запроса могло быть
повреждено.

*) Исправление: в обработке адресов клиентов при использовании unix
domain сокетов.


--
Maxim Dounin
http://nginx.org/
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

gzip filter failed to use preallocated memory (no replies)

$
0
0
Здравствуйте.

Мы начали использовать OS ClearLinux for Intel® Architecture, (отличная производительность)
Все работает хорошо, но в логах Nginx мы постоянно видим

[alert] 31591#31591: *1 gzip filter failed to use preallocated memory: 65536 of 16368

Таких записей очень много, не смотря на их уровень важности [alert] все работает нормально и Nginx отдает правильно упакованые gzip ответы.
Я так понимаю, Nginx просто сообщает что у нас не стандартная gzip библиотека, но зачем [alert] и зачем так засорять лог, может стоит адаптировать код Nginx для работы с такими gzip библиотеками, или может мы можем скомпилить Nginx с спец опцией?

Спасибо.

unit-0.2 beta release (42 replies)

$
0
0
http://unit.nginx.org

Changes with Unit 0.2 19 Oct 2017

*) Feature: Go package improvements.

*) Feature: configuration persistence.

*) Feature: improved handling of configuration errors.

*) Feature: application "timeout" property.

*) Bugfix: Go application crashed under load.

*) Bugfix: POST request for PHP were handled incorrectly.

*) Bugfix: the router exited abnormally if all listeners had been
deleted.

*) Bugfix: the router crashed under load.

*) Bugfix: memory leak in the router.


--
Igor Sysoev
http://nginx.com

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

Размер исполняемого файла. (12 replies)

$
0
0
Здравствуйте.

Для решения некоторых задач мне понадобилось подключить модуль random_index. Для этого я скачала исходники той же версии, что установлена на нашем сервере (Ubuntu 16.04 LTS, версия Nginx 1.10.3, установлена при помощи apt install nginx). Посмотрела параметры с которыми скомпилирован nginx и решила заодно удалить все не используемые модули для ускорения работы (раз уже все равно компилируем из исходников).

БЫЛО:
./configure --with-cc-opt='-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_v2_module --with-http_sub_module --with-http_xslt_module --with-stream --with-stream_ssl_module --with-mail --with-mail_ssl_module --with-threads

СТАЛО:
./configure --with-cc-opt='-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --with-pcre-jit --with-http_realip_module --with-http_geoip_module --with-threads --with-http_random_index_module

Но когда файл скомпилировался (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.5)), то каково было мое удивление, что размер стал больше, чем был! Размер оригинального файла - 1230768 байт, а получившегося - 4211352 байт. А если скомпилировать с теми же параметрами, что и у оригинального файла, то размер получается вообще 8748504 байт.
Подскажите пожалуйста, почему так получается и как мне добиться уменьшения размеров файла.


Второй вопрос уже по модулю random_index.
В директории, для которой указан параметр random_index, лежит 5 файлов с разным содержимым 1.html-5.html
В лог файлах nginx появляются записи вида:

GET /test/random/ HTTP/1.1" 200 7

Но как мне узнать, какой именно файл был показан?


Спасибо.
С уважением, Виктория.

Подмена User-Agent'а для бэкенда (no replies)

$
0
0
Есть сайт работающий через торрент стрим. Там js делает запросы на
локальный порт, на котором висит софтина AceStream, что-то типа:

http://127.0.0.1:6878/webui/api/service?callback=jQuery17033631382683313515_1509188498027&method=get_version&format=jsonp&_=150918849805
http://192.168.1.11:6878/server/api?method=open_in_player&content_id=2920e9961c24ab4e44b07c1fab4f6b750bd2ddfa&player_id=0f3a8626f1017b92058dd3cdcb2c2d15d8e5a2a3&_=1509189716189

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

Задача: подменить локальный адрес на 192.168.1.11, на котором и весит эта
софтина, для того, чтобы с любого устройства в локальной сети, можно было
зайти на сайт и включить воспроизведение на телевизоре (медиасервере). Т.е.
удалённо.

Не долго думая, я прописал в DNS, адрес сайта есть мой шлюз и сделал конфиг
в моём nigix, для подмены строк в js скрипте.

server {
listen 80;
server_name myru.tv www.myru.tv;

set $ua "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like
Gecko) Chrome/41.0.2228.0 Safari/537.36";

gzip off;
gunzip on;
gzip_proxied off;

location / {
proxy_set_header User-Agent $ua;
proxy_set_header Accept "";
proxy_set_header Accept-Encoding "";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

location = /player/script.js {
sub_filter_once off;
sub_filter '127.0.0.1:6878' '192.168.1.11:6878';
sub_filter_types *;
proxy_pass http://myru.tv;
}

proxy_pass http://myru.tv;
}
}

Все работает, за исключением подмены User-Agent'а. И если не менять его в
клиентском ПО (браузере), сайт выдаёт заглушку, типа ПО для моей платформы
в разработке.

В общем экспериментировал-экспериментировал - никак не могу заставить
"бэкенд" думать что у меня винда(((

Объясните, что я делаю не правильно

--
С уважением,
Alex Emergy
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Nginx и queue в upstream (Windows) (3 replies)

$
0
0
Всем Hello, world!

Будет ли когда-нибудь реализовано то, о чём пишут здесь: https://ospanel.io/forum/viewtopic.php?p=22363#p22363

Речь идёт о платном параметре queue (очередь запросов) в конфиге upstream. Там в принципе уже всё написали, что вы знаете о ситуации, что не любите Windows и бла бла бла, но на Windows работает огромное количество разработчиков, так просто удобнее. Стоит ли ожидать решения описанной там проблемы?

Конечно отсутствие PHP-FPM on windows это проблема PHP (которая в принципе не разрешима), а не Nginx, но раз вы были так добры и добавили опцию max_conn то почему бы не раздобреть уже до конца? Получилось как-бы половинчатое решение с вашей стороны... ведь для работы с FastCGI нужны оба этих параметра и max_conns и queue.

Сейчас сложилась такая ситуация, что разработчики PHP не могут (нет решения), разработчики Nginx не хотят (есть платное решение), а в результате целая система отрезана от нормальной работы с FastCGI. Можно не сомневаться в том, что все айтишники сидящие на Windows пожмут вам руку в случае добавления параметра queue в бесплатную версию в догонку к max_conns, ведь самоцель работы программиста - это довольные пользователи его творения.

Спасибо за ответы, с уважением Дима Кулик.

Белый список сертификатов или доступ определенным сертификатам (no replies)

$
0
0
Добрый день!
Подскажите пожалуйста по этому вопросу https://stackoverflow.com/questions/36744260/restrict-allowed-users-when-using-client-certificates

You could combine $ssl_client_s_dn with map directive:

map $ssl_client_s_dn $access_denied {
default 1;
"alice" 0;
"bob" 0;
}
and check it with if

if ($access_denied) {
return 403;
}

Мы должны где-то определить переменную $access_denied?
Или необходимо просто заменить alice, bob на сертификаты, для которых доступ разрешен, а для остальных сертификатов доступ будет запрещен?

Опция multi_accept (1 reply)

$
0
0
Коллеги, а поясните, пожалуйса, как работает эта опция? Я правильно
понимаю, что выключенная по-умолчанию, она не делает воркеров неспособными
обработать более одного подключения? И каковы могут быть побочные эффекты
от ее включения?

Спасибо заранее!
--

WBR, Max Zavyalov.

Sent from my Nexus 5
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Viewing all 3102 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>