From nginx-forum at nginx.us Fri Aug 1 13:36:14 2014 From: nginx-forum at nginx.us (ded) Date: Fri, 01 Aug 2014 09:36:14 -0400 Subject: =?UTF-8?B?UmU6INCg0LDQsdC+0YLQsCDRgSDRg9C00LDQu9C10L3QvdGL0LzQuCDRhNCw0Lk=?= =?UTF-8?B?0LvQvtCy0YvQvNC4INGB0LXRgNCy0LXRgNCw0LzQuCAo0L/RgNC+0LrRgdC4?= =?UTF-8?B?0YDQvtCy0LDQvdC40LU/KQ==?= In-Reply-To: References: Message-ID: <9f37150bf6a7a269c34301f2164e8d67.NginxMailingListRussian@forum.nginx.org> Спасибо за ответ, но. Вопрос отказоустойчивости не стоит. Распределенные FS то же не подходят, т.к. у файловых серверов могут быть разные администраторы/владельцы и информация может иметь конфиденциальный характер. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252107,252201#msg-252201 From borepstein at gmail.com Sun Aug 3 00:53:33 2014 From: borepstein at gmail.com (Boris Epstein) Date: Sat, 2 Aug 2014 20:53:33 -0400 Subject: =?UTF-8?B?UmU6INC60LDRgNGC0LjQvdC60Lgg0L3QtSDQvtGC0L7QsdGA0LDQttCw0Y7RgtGB?= =?UTF-8?B?0Y8=?= In-Reply-To: <53D75ACD.4010502@altlinux.ru> References: <53D5F0E0.8060501@altlinux.ru> <53D75ACD.4010502@altlinux.ru> Message-ID: В логах была куча всего. Я ради интереса переустановил PHP-FPM. Теперь с разметкой все в порядке, но все равно не отображается графика. Хотя по идее она вообще не должна обрабатываться: ;security.limit_extensions = .php .php3 .php4 .php5 2014-07-29 4:26 GMT-04:00 Anton Gorlov : > Чудес не бывает. В логах должна быть какая-либо ошибка > > 28.07.2014 14:08, Boris Epstein пишет: > > Это таки обидно, потому что в логах я пока ничего не разглядел:) > > > > Но будем рыть дальше, да. > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -------------- next part -------------- An HTML attachment was scrubbed... URL: From nginx-forum at nginx.us Tue Aug 5 06:13:07 2014 From: nginx-forum at nginx.us (esirenko) Date: Tue, 05 Aug 2014 02:13:07 -0400 Subject: 400 Bad Request.No required SSL certificate was sent Message-ID: <422970aaa20ed410d8d1f38fd73c991f.NginxMailingListRussian@forum.nginx.org> Привет, товарищи Прочитал не одну тему на данную ошибку, но могу понять таки, почему у меня такая ошибка. ********************************************************************* Окружение: nginx version: nginx/1.6.0 built by gcc 4.8.2 20140120 (Red Hat 4.8.2-16) (GCC) TLS SNI support enabled + Centos 7 ********************************************************************* как я создавал серты #Создаём новый корневой СА для наших нужд openssl req -new -newkey rsa:1024 -nodes -keyout ca.key -x509 -days 500 -subj /C=RU/ST=RO/L=Rostov-on-Don/O=IT/OU=admin/CN=rootCA/emailAddress=xxx at xxx.com -out ca.crt #Создаём ключ для сервера openssl genrsa -des3 -out server.key 1024 #И запрос для него openssl req -new -key server.key -out server.csr #И тут же подпишим его нашей подписью openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt #Создаём ключ для нового клиента и файл запроса сертификата openssl req -new -newkey rsa:1024 -nodes -keyout ivan.key -subj /C=RU/ST=Rostov/L=Rostov-on-Don/O=SomeFirm/OU=Ivan/CN=IvansCert/emailAddress=xxx at xxx.ru -out ivan.csr #создаём сертификат клиента использую созданный запрос на создание сертификата и файл конфигураций openssl ca -config ca.config -in ivan.csr -out ivan.crt -batch #создаём сертификат клиента для браузера, используя его ключ и сертификат openssl pkcs12 -export -in ivan.crt -inkey ivan.key -certfile ../cert.pem -out ivan.p12 -passout pass:qwerty. **************************************************************** Конфиги ssl.conf ********** ssl_session_cache shared:SSL:10m; ssl_session_timeout 5m; #ssl_stapling on; ssl_prefer_server_ciphers on; ssl_protocols TLSv1.2 TLSv1.1; ssl_client_certificate /etc/nginx/ssl/ca.crt; ssl_certificate /etc/nginx/ssl/server.crt; ssl_certificate_key /etc/nginx/ssl/server.nopass.key; add_header Strict-Transport-Security 'max-age=604800'; ssl_verify_client on; #ssl_verify_depth 3; ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS"; keepalive_timeout 70; fastcgi_param SSL_VERIFIED $ssl_client_verify; fastcgi_param SSL_CLIENT_SERIAL $ssl_client_serial; fastcgi_param SSL_CLIENT_CERT $ssl_client_cert; fastcgi_param SSL_DN $ssl_client_s_dn; ********* nginx.conf ************* user nginx; worker_processes 1; error_log /var/log/nginx/error.log debug; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf; # Redirect HTTP to HTTPS: server { listen 80; server_name 192.168.100.38; return 301 https://$server_name$request_uri; } # HTTPS server: server { listen 192.168.100.38:443 ssl; server_name 192.168.100.38; error_page 404 /404.html; error_page 500 502 503 504 /50x.html; include /etc/nginx/ssl/ssl.conf; location / { root /usr/share/nginx/html; index index.html index.htm; } } } ******************************************************************************************* в итоге инсталлю в яндексовский браузер ivan.p12 ivan.crt server.crt ca.crt и на выходе - 400 Bad Request.No required SSL certificate was sent ********************************************* а в error log - 2014/08/05 13:52:47 [info] 35336#0: *158 peer closed connection in SSL handshake while SSL handshaking, client: 192.168.100.15, server: 192.168.100.38:443 2014/08/05 13:52:47 [info] 35336#0: *159 client closed connection while waiting for request, client: 192.168.100.15, server: 192.168.100.38:443 2014/08/05 13:52:47 [info] 35336#0: *160 client sent no required SSL certificate while reading client request headers, client: 192.168.100.15, server: 192.168.100.38, request: "GET /favicon.ico HTTP/1.1", host: "192.168.100.38" ******************************************** Понимаю насколько банальна эта тема, но.... глаза что ли замылились?... Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252280,252280#msg-252280 From nginx-forum at nginx.us Tue Aug 5 06:14:40 2014 From: nginx-forum at nginx.us (esirenko) Date: Tue, 05 Aug 2014 02:14:40 -0400 Subject: 400 Bad Request.No required SSL certificate was sent In-Reply-To: <422970aaa20ed410d8d1f38fd73c991f.NginxMailingListRussian@forum.nginx.org> References: <422970aaa20ed410d8d1f38fd73c991f.NginxMailingListRussian@forum.nginx.org> Message-ID: ca.conf ****************************************************************************** [root at localhost db]# cat ca.config [ ca ] default_ca = CA_CLIENT # use ca_client section as default while sign CSR [ CA_CLIENT ] dir = ./ # main direcory certs = $dir/certs # certificate directory new_certs_dir = $dir/newcerts # new certificates directory database = $dir/index.txt # database file that contains signed certificates serial = $dir/serial # file that contains serial numbers of certificates in hex certificate = ../ca.crt # CA certificate file private_key = ../ca.key # CA key file default_days = 365 # lifetime of signed certificate default_crl_days = 7 # lifetime of CRL default_md = md5 # sign method policy = policy_anything # section to use to describe policies [ policy_anything ] countryName = optional # change to 'supplied' if something is important. stateOrProvinceName = optional localityName = optional organizationName = optional organizationalUnitName = optional commonName = optional emailAddress = optional Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252280,252281#msg-252281 From mdounin at mdounin.ru Tue Aug 5 13:56:16 2014 From: mdounin at mdounin.ru (Maxim Dounin) Date: Tue, 5 Aug 2014 17:56:16 +0400 Subject: nginx-1.7.4 Message-ID: <20140805135616.GI1849@mdounin.ru> Изменения в nginx 1.7.4 05.08.2014 *) Безопасность: pipelined-команды не отбрасывались после команды STARTTLS в SMTP прокси-сервере (CVE-2014-3556); ошибка появилась в 1.5.6. Спасибо Chris Boulton. *) Изменение: экранирование символов в URI теперь использует шестнадцатеричные цифры в верхнем регистре. Спасибо Piotr Sikora. *) Добавление: теперь nginx можно собрать с BoringSSL и LibreSSL. Спасибо Piotr Sikora. *) Исправление: запросы могли зависать, если использовался resolver и DNS-сервер возвращал некорректный ответ; ошибка появилась в 1.5.8. *) Исправление: в модуле ngx_http_spdy_module. Спасибо Piotr Sikora. *) Исправление: переменная $uri могла содержать мусор при возврате ошибок с кодом 400. Спасибо Сергею Боброву. *) Исправление: в обработке ошибок в директиве proxy_store и в модуле ngx_http_dav_module. Спасибо Feng Gu. *) Исправление: при логгировании ошибок в syslog мог происходить segmentation fault; ошибка появилась в 1.7.1. *) Исправление: переменные $geoip_latitude, $geoip_longitude, $geoip_dma_code и $geoip_area_code могли не работать. Спасибо Yichun Zhang. *) Исправление: в обработке ошибок выделения памяти. Спасибо Tatsuhiko Kubo и Piotr Sikora. -- Maxim Dounin http://nginx.org/en/donation.html From mdounin at mdounin.ru Tue Aug 5 13:56:51 2014 From: mdounin at mdounin.ru (Maxim Dounin) Date: Tue, 5 Aug 2014 17:56:51 +0400 Subject: nginx-1.6.1 Message-ID: <20140805135650.GM1849@mdounin.ru> Изменения в nginx 1.6.1 05.08.2014 *) Безопасность: pipelined-команды не отбрасывались после команды STARTTLS в SMTP прокси-сервере (CVE-2014-3556); ошибка появилась в 1.5.6. Спасибо Chris Boulton. *) Исправление: переменная $uri могла содержать мусор при возврате ошибок с кодом 400. Спасибо Сергею Боброву. *) Исправление: в работе параметра none директивы smtp_auth; ошибка появилась в 1.5.6. Спасибо Святославу Никольскому. -- Maxim Dounin http://nginx.org/en/donation.html From mdounin at mdounin.ru Tue Aug 5 13:57:19 2014 From: mdounin at mdounin.ru (Maxim Dounin) Date: Tue, 5 Aug 2014 17:57:19 +0400 Subject: nginx security advisory (CVE-2014-3556) Message-ID: <20140805135719.GQ1849@mdounin.ru> Hello! Была обнаружена ошибка в SMTP-прокси в nginx, из-за которой атакующий, контролирующий канал между клиентом и nginx'ом, мог вставлять команды в SSL-сессии, инициированные с помощью команды STARTTLS, что потенциально могло приводить к утечке важной информации, передаваемой клиентами (CVE-2014-3556). Проблеме подвержен nginx 1.5.6 - 1.7.3. Проблема исправлена в nginx 1.7.4, 1.6.1. Патч, исправляющий проблему, доступен тут: http://nginx.org/download/patch.2014.starttls.txt Спасибо Chris Boulton за обнаружение проблемы. -- Maxim Dounin http://nginx.org/en/donation.html From andrey at kopeyko.ru Tue Aug 5 14:08:39 2014 From: andrey at kopeyko.ru (Andrey Kopeyko) Date: Tue, 05 Aug 2014 18:08:39 +0400 Subject: [nginx-ru-announce] nginx-1.7.4 In-Reply-To: <20140805135623.GJ1849@mdounin.ru> References: <20140805135623.GJ1849@mdounin.ru> Message-ID: <53E0E567.4010108@kopeyko.ru> 05.08.2014 17:56, Maxim Dounin пишет: > Изменения в nginx 1.7.4 05.08.2014 > Привет, Макс! > *) Исправление: запросы могли зависать, если использовался resolver и > DNS-сервер возвращал некорректный ответ; ошибка появилась в 1.5.8. А когда это исправление войдёт в стабильную ветку 1.6 ? Остальные исправления вошли в 1.6.1, а это - почему-то нет... -- Best regards, Andrey Kopeyko From undying-m at yandex.ru Tue Aug 5 14:10:11 2014 From: undying-m at yandex.ru (Den Bozhok) Date: Tue, 05 Aug 2014 18:10:11 +0400 Subject: upstream healt_check Message-ID: <14351407247811@web26j.yandex.ru> An HTML attachment was scrubbed... URL: From maxim at nginx.com Tue Aug 5 14:15:46 2014 From: maxim at nginx.com (Maxim Konovalov) Date: Tue, 05 Aug 2014 18:15:46 +0400 Subject: upstream healt_check In-Reply-To: <14351407247811@web26j.yandex.ru> References: <14351407247811@web26j.yandex.ru> Message-ID: <53E0E712.9070402@nginx.com> On 8/5/14 6:10 PM, Den Bozhok wrote: > Доброго дня! > > Решили попробовать nginx plus и модуль healt_heck. > [...] Почему бы вам не обратиться с этой проблемой на plus-support at nginx.com? -- Maxim Konovalov http://nginx.com From mdounin at mdounin.ru Tue Aug 5 14:20:41 2014 From: mdounin at mdounin.ru (Maxim Dounin) Date: Tue, 5 Aug 2014 18:20:41 +0400 Subject: [nginx-ru-announce] nginx-1.7.4 In-Reply-To: <53E0E567.4010108@kopeyko.ru> References: <20140805135623.GJ1849@mdounin.ru> <53E0E567.4010108@kopeyko.ru> Message-ID: <20140805142041.GT1849@mdounin.ru> Hello! On Tue, Aug 05, 2014 at 06:08:39PM +0400, Andrey Kopeyko wrote: > 05.08.2014 17:56, Maxim Dounin пишет: > >Изменения в nginx 1.7.4 05.08.2014 > > > > Привет, Макс! > > > *) Исправление: запросы могли зависать, если использовался resolver и > > DNS-сервер возвращал некорректный ответ; ошибка появилась в 1.5.8. > > А когда это исправление войдёт в стабильную ветку 1.6 ? Если войдёт - то, вероятно, в 1.6.2. > Остальные исправления вошли в 1.6.1, а это - почему-то нет... В стабильную ветку изменения попадают после отстоя в mainline, за редкими исключениями, в основном - связанными с вопросами безопасности. -- Maxim Dounin http://nginx.org/ From undying-m at yandex.ru Tue Aug 5 14:22:04 2014 From: undying-m at yandex.ru (Den Bozhok) Date: Tue, 05 Aug 2014 18:22:04 +0400 Subject: upstream healt_check In-Reply-To: <53E0E712.9070402@nginx.com> References: <14351407247811@web26j.yandex.ru> <53E0E712.9070402@nginx.com> Message-ID: <57611407248524@web26j.yandex.ru> Привычка :) 05.08.2014, 18:15, "Maxim Konovalov" : > On 8/5/14 6:10 PM, Den Bozhok wrote: >>  Доброго дня! >> >>  Решили попробовать nginx plus и модуль healt_heck. > > [...] > > Почему бы вам не обратиться с этой проблемой на plus-support at nginx.com? > > -- > Maxim Konovalov > http://nginx.com > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From mdounin at mdounin.ru Tue Aug 5 15:39:47 2014 From: mdounin at mdounin.ru (Maxim Dounin) Date: Tue, 5 Aug 2014 19:39:47 +0400 Subject: 400 Bad Request.No required SSL certificate was sent In-Reply-To: <422970aaa20ed410d8d1f38fd73c991f.NginxMailingListRussian@forum.nginx.org> References: <422970aaa20ed410d8d1f38fd73c991f.NginxMailingListRussian@forum.nginx.org> Message-ID: <20140805153946.GV1849@mdounin.ru> Hello! On Tue, Aug 05, 2014 at 02:13:07AM -0400, esirenko wrote: [...] > в итоге инсталлю в яндексовский браузер > ivan.p12 > ivan.crt > server.crt > ca.crt > > и на выходе - 400 Bad Request.No required SSL certificate was sent Для начала имеет смысл убедится, что с помощью "openssl s_client" всё работает штатно. А дальше уже начинать разбираться с браузерами - там могут быть нюансы. В частности, Chrome, если мне не изменяет память, отказывался использовать клиентские сертификаты, если у сервера было что-то не так с сертификатом. В приведённом же примере у сервера видится как-минимум проблема в виде ip-адреса вместо доменного имени. -- Maxim Dounin http://nginx.org/ From nginx-forum at nginx.us Wed Aug 6 05:51:34 2014 From: nginx-forum at nginx.us (esirenko) Date: Wed, 06 Aug 2014 01:51:34 -0400 Subject: 400 Bad Request.No required SSL certificate was sent In-Reply-To: <20140805153946.GV1849@mdounin.ru> References: <20140805153946.GV1849@mdounin.ru> Message-ID: <65d43bf35ec13c6e94be45530fdf6ee4.NginxMailingListRussian@forum.nginx.org> Maxim Dounin Wrote: ------------------------------------------------------- > Для начала имеет смысл убедится, что с помощью "openssl s_client" > всё работает штатно. *********************************************************************************************************** [root at localhost openssl]# openssl s_client -connect 192.168.100.38:443 CONNECTED(00000003) depth=1 C = RU, ST = RO, L = Rostov-on-Don, O = IT, OU = admin, CN = rootCA, emailAddress = xxx at xxx.com verify error:num=19:self signed certificate in certificate chain verify return:0 --- Certificate chain 0 s:/C=RU/ST=RO/L=Rostov-on-Don/O=IT/OU=admin/CN=serverCert/emailAddress=xxx at xxx.com i:/C=RU/ST=RO/L=Rostov-on-Don/O=IT/OU=admin/CN=rootCA/emailAddress=xxx at xxx.com 1 s:/C=RU/ST=RO/L=Rostov-on-Don/O=IT/OU=admin/CN=rootCA/emailAddress=xxx at xxx.com i:/C=RU/ST=RO/L=Rostov-on-Don/O=IT/OU=admin/CN=rootCA/emailAddress=xxx at xxx.com --- Server certificate -----BEGIN CERTIFICATE----- MIICbDCCAdUCAQEwDQYJKoZIhvcNAQEFBQAwfDELMAkGA1UEBhMCUlUxCzAJBgNV BAgMAlJPMRYwFAYDVQQHDA1Sb3N0b3Ytb24tRG9uMQswCQYDVQQKDAJJVDEOMAwG A1UECwwFYWRtaW4xDzANBgNVBAMMBnJvb3RDQTEaMBgGCSqGSIb3DQEJARYLeHh4 QHh4eC5jb20wHhcNMTQwODA1MTYxMzIzWhcNMTUwODA1MTYxMzIzWjCBgDELMAkG A1UEBhMCUlUxCzAJBgNVBAgMAlJPMRYwFAYDVQQHDA1Sb3N0b3Ytb24tRG9uMQsw CQYDVQQKDAJJVDEOMAwGA1UECwwFYWRtaW4xEzARBgNVBAMMCnNlcnZlckNlcnQx GjAYBgkqhkiG9w0BCQEWC3h4eEB4eHguY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GN ADCBiQKBgQCt3OeyuUoyP36FGZ7AJfk6JpIA0H6svWXijUwMMuEfZHwt/fep3tva d/3mtnAE0Zf+5zPYNHXs96WI5Hk29nFZ+gy4jfLOKlug9wy+QvFTN7TaRLDqnM62 MQRjPPyw1kKyPUXSdsTPqZtl89MWqGpYaKdPHjpxWgpylRFqhHlFGQIDAQABMA0G CSqGSIb3DQEBBQUAA4GBAJDDNmU/StaQGyJY77VEB8zW9W4xWjhVZjHZ59Sw1ROL epWB19e9Yo/sYdVtbO3ZFOZKIS93wDwRZ1MZf14YGZf2zVgMXTUKqj7xvFeCTa9F i2TgR0LpQ+T0J47azLrHfY7Eg8RdPQbmdEPaQJ/SEZTKqOha/bPzfs6iDYgnT4wX -----END CERTIFICATE----- subject=/C=RU/ST=RO/L=Rostov-on-Don/O=IT/OU=admin/CN=serverCert/emailAddress=xxx at xxx.com issuer=/C=RU/ST=RO/L=Rostov-on-Don/O=IT/OU=admin/CN=rootCA/emailAddress=xxx at xxx.com --- Acceptable client certificate CA names /C=RU/ST=RO/L=Rostov-on-Don/O=IT/OU=admin/CN=rootCA/emailAddress=xxx at xxx.com Server Temp Key: ECDH, prime256v1, 256 bits --- SSL handshake has read 2044 bytes and written 387 bytes --- New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-GCM-SHA384 Server public key is 1024 bit Secure Renegotiation IS supported Compression: NONE Expansion: NONE SSL-Session: Protocol : TLSv1.2 Cipher : ECDHE-RSA-AES256-GCM-SHA384 Session-ID: 1B98F7F29348F36B6A0F75AD717F9B2532B60A6E90CAE13F0BCFC2F1F355E9E1 Session-ID-ctx: Master-Key: 11D3189B9EDB1ADC12EB7D5B5B4A07A2656EB887D2FBDF4B91CDD9824E277520C207062626F13B546031DBB42342A32E Key-Arg : None Krb5 Principal: None PSK identity: None PSK identity hint: None TLS session ticket lifetime hint: 300 (seconds) TLS session ticket: 0000 - e3 85 da 5b b7 a0 86 1c-88 95 cb 3a 5a d1 53 2f ...[.......:Z.S/ 0010 - 9e e6 a9 65 c5 db c4 3a-2b 71 f2 67 12 cd 78 b5 ...e...:+q.g..x. 0020 - f8 e6 8d 9c 98 93 ad 07-80 e1 40 5a 46 bf ba fc .......... at ZF... 0030 - 80 9b fb ad 54 6e 47 9a-db fa d2 49 b5 eb 2a 89 ....TnG....I..*. 0040 - 73 91 9c 79 b8 c7 d8 8b-01 26 cb 6e c0 12 61 e0 s..y.....&.n..a. 0050 - e5 f1 38 2b 10 27 e3 b3-06 10 c2 cc 35 cd 0a cc ..8+.'......5... 0060 - cf dd 9c 31 5f 45 1d a6-61 b7 25 da 62 ea 51 74 ...1_E..a.%.b.Qt 0070 - 27 a5 e6 2e 85 90 2e 2f-c5 7b 18 01 0a cf 57 09 '....../.{....W. 0080 - 0e d2 f0 c8 d4 8c ba 9f-1a 5d dd 7c 36 f8 76 87 .........].|6.v. 0090 - c3 54 e2 f1 ac 32 42 d5-a3 af c5 98 3a 7d d7 f0 .T...2B.....:}.. Start Time: 1407316567 Timeout : 300 (sec) Verify return code: 19 (self signed certificate in certificate chain) --- closed *********************************************************************************************************** Насколько я понимаю - "verify error:num=19:self signed certificate in certificate chain" не является критичной ошибкой. Ещё есть такое: *********************************************************************************************************** [root at localhost db]# openssl verify -CAfile ca.crt ivan.crt ivan.crt: OK *********************************************************************************************************** cURL с серверов и других и этого самого. *********************************************************************************************************** curl -v -s -k --key ./ivan.key --cert ./ivan.crt --pass qwerty https://192.168.100.38 * About to connect() to 192.168.100.38 port 443 (#0) * Trying 192.168.100.38... connected * Connected to 192.168.100.38 (192.168.100.38) port 443 (#0) * Initializing NSS with certpath: sql:/etc/pki/nssdb * warning: ignoring value of ssl.verifyhost * NSS error -5961 * Closing connection #0 * SSL connect error При этом в еррорлоге SSL_do_handshake() failed (SSL: error:140760FC:SSL routines:SSL23_GET_CLIENT_HELLO:unknown protocol) while SSL handshaking *********************************************************************************************************** > А дальше уже начинать разбираться с браузерами - там могут быть > нюансы. В частности, Chrome, если мне не изменяет память, > отказывался использовать клиентские сертификаты, если у сервера > было что-то не так с сертификатом. В приведённом же примере у > сервера видится как-минимум проблема в виде ip-адреса вместо > доменного имени. Не думаю что на данном этапе проблема может быть в этом, но попробую сделать буквенное имя на замену IP Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252280,252342#msg-252342 From nginx-forum at nginx.us Wed Aug 6 07:48:09 2014 From: nginx-forum at nginx.us (esirenko) Date: Wed, 06 Aug 2014 03:48:09 -0400 Subject: 400 Bad Request.No required SSL certificate was sent In-Reply-To: <65d43bf35ec13c6e94be45530fdf6ee4.NginxMailingListRussian@forum.nginx.org> References: <20140805153946.GV1849@mdounin.ru> <65d43bf35ec13c6e94be45530fdf6ee4.NginxMailingListRussian@forum.nginx.org> Message-ID: <91a484d0c86dfae5c70e243a56f03336.NginxMailingListRussian@forum.nginx.org> Opera отлично схавала сертификат! Значит действительно проблема в ip заместо доменного имени Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252280,252349#msg-252349 From mdounin at mdounin.ru Wed Aug 6 08:34:59 2014 From: mdounin at mdounin.ru (Maxim Dounin) Date: Wed, 6 Aug 2014 12:34:59 +0400 Subject: 400 Bad Request.No required SSL certificate was sent In-Reply-To: <65d43bf35ec13c6e94be45530fdf6ee4.NginxMailingListRussian@forum.nginx.org> References: <20140805153946.GV1849@mdounin.ru> <65d43bf35ec13c6e94be45530fdf6ee4.NginxMailingListRussian@forum.nginx.org> Message-ID: <20140806083459.GB1849@mdounin.ru> Hello! On Wed, Aug 06, 2014 at 01:51:34AM -0400, esirenko wrote: > Maxim Dounin Wrote: > ------------------------------------------------------- > > > Для начала имеет смысл убедится, что с помощью "openssl s_client" > > всё работает штатно. > > *********************************************************************************************************** > [root at localhost openssl]# openssl s_client -connect 192.168.100.38:443 [...] man s_client: -cert certname The certificate to use, if one is requested by the server. The default is not to use a certificate. -key keyfile The private key to use. If not specified then the certificate file will be used. И сделать простейший запрос, "GET / HTTP/1.0" + два перевода строки. Впрочем, если с Оперой заработало - значит, с настройками хорошо, и этот пункт можно пропустить. > cURL с серверов и других и этого самого. > *********************************************************************************************************** > curl -v -s -k --key ./ivan.key --cert ./ivan.crt --pass qwerty > https://192.168.100.38 > * About to connect() to 192.168.100.38 port 443 (#0) > * Trying 192.168.100.38... connected > * Connected to 192.168.100.38 (192.168.100.38) port 443 (#0) > * Initializing NSS with certpath: sql:/etc/pki/nssdb > * warning: ignoring value of ssl.verifyhost > * NSS error -5961 > * Closing connection #0 > * SSL connect error > > > При этом в еррорлоге > > SSL_do_handshake() failed (SSL: error:140760FC:SSL > routines:SSL23_GET_CLIENT_HELLO:unknown protocol) while SSL handshaking В конфиге только TLSv1.2 и TLSv1.1, это ожидаемый результат при использовании curl'а старее 7.34.0 c NSS. http://curl.haxx.se/changes.html#7_34_0 http://curl.haxx.se/mail/lib-2013-11/0162.html > > А дальше уже начинать разбираться с браузерами - там могут быть > > нюансы. В частности, Chrome, если мне не изменяет память, > > отказывался использовать клиентские сертификаты, если у сервера > > было что-то не так с сертификатом. В приведённом же примере у > > сервера видится как-минимум проблема в виде ip-адреса вместо > > доменного имени. > > Не думаю что на данном этапе проблема может быть в этом, но попробую сделать > буквенное имя на замену IP Отдельно отмечу, что с сертификатом, если мне не изменяет память, должно быть хорошо всё. Т.е. он должен штатно подбираться как доверенный без дополнительных нажатий "да, продолжить, доверяю" и т.п. -- Maxim Dounin http://nginx.org/ From nginx-forum at nginx.us Thu Aug 7 13:17:45 2014 From: nginx-forum at nginx.us (esirenko) Date: Thu, 07 Aug 2014 09:17:45 -0400 Subject: 400 Bad Request.No required SSL certificate was sent In-Reply-To: <20140806083459.GB1849@mdounin.ru> References: <20140806083459.GB1849@mdounin.ru> Message-ID: <080ae8663c5d45519e8fe2fe1d680766.NginxMailingListRussian@forum.nginx.org> Сейчас идёт тестирование на CentOS 5.2 Установил CURL [root at nginx-test nginx]# curl --version curl 7.37.1 (x86_64-unknown-linux-gnu) libcurl/7.37.1 ========================================= если ssl_protocols TSLv1 или ниже - то всё ок то коннект есть: ================================================================== [root at nginx-test nginx]# openssl s_client -host nginx-test -port 443 CONNECTED(00000003) depth=1 C = RU, ST = RO, L = Rostov-on-Don, O = IT, OU = admin, CN = rootCA, emailAddress = xxx at xxx.com verify return:1 depth=0 C = RU, ST = RO, L = Rostov-on-Don, O = IT, OU = admin, CN = serverCert, emailAddress = xxx at xxx.com verify return:1 --- Certificate chain 0 s:/C=RU/ST=RO/L=Rostov-on-Don/O=IT/OU=admin/CN=serverCert/emailAddress=xxx at xxx.com i:/C=RU/ST=RO/L=Rostov-on-Don/O=IT/OU=admin/CN=rootCA/emailAddress=xxx at xxx.com 1 s:/C=RU/ST=RO/L=Rostov-on-Don/O=IT/OU=admin/CN=rootCA/emailAddress=xxx at xxx.com i:/C=RU/ST=RO/L=Rostov-on-Don/O=IT/OU=admin/CN=rootCA/emailAddress=xxx at xxx.com --- Server certificate -----BEGIN CERTIFICATE----- MIICbDCCAdUCAQEwDQYJKoZIhvcNAQEFBQAwfDELMAkGA1UEBhMCUlUxCzAJBgNV BAgMAlJPMRYwFAYDVQQHDA1Sb3N0b3Ytb24tRG9uMQswCQYDVQQKDAJJVDEOMAwG A1UECwwFYWRtaW4xDzANBgNVBAMMBnJvb3RDQTEaMBgGCSqGSIb3DQEJARYLeHh4 QHh4eC5jb20wHhcNMTQwODA3MTE0NTE1WhcNMTUwODA3MTE0NTE1WjCBgDELMAkG A1UEBhMCUlUxCzAJBgNVBAgMAlJPMRYwFAYDVQQHDA1Sb3N0b3Ytb24tRG9uMQsw CQYDVQQKDAJJVDEOMAwGA1UECwwFYWRtaW4xEzARBgNVBAMMCnNlcnZlckNlcnQx GjAYBgkqhkiG9w0BCQEWC3h4eEB4eHguY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GN ADCBiQKBgQCegO3ddTQ9dm5wxMA51/6AiNnv+QWJK9bFpotI9VC7D7NtPVUzn8+Q dbwoZ7cz7I2i8Mvy/rICMW8ugNHxxsOXwz8/E57UcN0Eo9nAst01ozqEf1xUWQFc XwnJlJckNon1T7U7o7vWZbQ/aDwumJQeFTDvgxG0eoICW0nToQbJZQIDAQABMA0G CSqGSIb3DQEBBQUAA4GBAIfggJ542ulFtibbOM/DGeuoxQe1pukoD8QdqWpXHyUm ogbh+4/L/PF23EcGVNUJBH87yhblVXmSBsDnS2IZ7YuNAuwkrzmlVnh66e5qCx+M 0pOPnJoM+scDTDZW7sK7ImVh8XsNGrcXs7bRyWPajiDRRy4i3cU8CdVmUDpu9wX4 -----END CERTIFICATE----- subject=/C=RU/ST=RO/L=Rostov-on-Don/O=IT/OU=admin/CN=serverCert/emailAddress=xxx at xxx.com issuer=/C=RU/ST=RO/L=Rostov-on-Don/O=IT/OU=admin/CN=rootCA/emailAddress=xxx at xxx.com --- Acceptable client certificate CA names /C=RU/ST=RO/L=Rostov-on-Don/O=IT/OU=admin/CN=rootCA/emailAddress=xxx at xxx.com Server Temp Key: DH, 1024 bits --- SSL handshake has read 2051 bytes and written 513 bytes --- New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA Server public key is 1024 bit Secure Renegotiation IS supported Compression: NONE Expansion: NONE SSL-Session: Protocol : TLSv1 Cipher : DHE-RSA-AES256-SHA Session-ID: 56098C9259B6B7791C769AC0923D370B31C0D001D337006698BC200E8A773D60 Session-ID-ctx: Master-Key: 6ACBB550AEE71E4152924A3273CC458305F3909A7DC656B9C4AB66210A41939E1A3E349CD81ACD7C919727E3973B2156 Key-Arg : None Krb5 Principal: None PSK identity: None PSK identity hint: None SRP username: None Start Time: 1407416980 Timeout : 300 (sec) Verify return code: 0 (ok) --- ============================================================================== В Opera и IE также нормально работают с сайтом. Проблемы Chrome - это его проблемы и буду писать в их саппорт если прижмёт. Хотя пробовал и с именованым сайтом и с вызовами напрямую через IP. но вот если ssl_protocols TSLv1.1 или выше - то : ============================================================================== [root at nginx-test nginx]# openssl s_client -host nginx-test -port 443 CONNECTED(00000003) write:errno=104 --- no peer certificate available --- No client certificate CA names sent --- SSL handshake has read 0 bytes and written 303 bytes --- New, (NONE), Cipher is (NONE) Secure Renegotiation IS NOT supported Compression: NONE Expansion: NONE --- ================================================================== Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252280,252385#msg-252385 From nginx-forum at nginx.us Thu Aug 7 15:49:01 2014 From: nginx-forum at nginx.us (rand257) Date: Thu, 07 Aug 2014 11:49:01 -0400 Subject: =?UTF-8?B?UmU6INCi0LXQv9C10YDRjCDQvdC10LvRjNC30Y8g0LLRi9GB0YLQsNCy0LvRj9GC?= =?UTF-8?B?0Ywg0YLQuNC/INC60L7QvdGC0LXQvdGC0LAh?= In-Reply-To: <20130922182053.GB2170@mdounin.ru> References: <20130922182053.GB2170@mdounin.ru> Message-ID: Доброго времени суток! Извиняюсь за поднятие столь старой темы, но она полностью соответствует моему вопросу. Итак: Имеется nginx, php-fpm и сайт файлохранилища, в котором для выдачи статических файлов используется заголовок X-Accel-Redirect в отдельный специальный локейшен. В этом локейшене выставлен post_action на вызов php-скрипта, подсчитывающий статистику по трафику с выполненного запроса и количеству завершенных/незавершенных скачиваний файлов. После обновления nginx с некоей доисторической версии на современную 1.6.1 скрипт статистики более не вызывается, в логах имеется упоминавшийся здесь алерт "header already sent while reading response". Однако, перестать выдавать заголовки на стороне php мы не можем, т.к. статические файлы хранятся без расширений и с обезличенными названиями - соответственно, нужно выставлять Content-Disposition и Content-type. Отказаться от X-Accel-Redirect и передавать средствами php крупные статические файлы кажется ресурсозатратным и нецелесообразным. Отказаться от учета статистики на лету по post_action - в целом, тоже нежелательно. Есть ли какая-либо другая возможность организовать совместную работу post_action и X-Accel-Redirect в современных версиях nginx? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,243030,252389#msg-252389 From chipitsine at gmail.com Thu Aug 7 17:24:05 2014 From: chipitsine at gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Thu, 7 Aug 2014 23:24:05 +0600 Subject: =?UTF-8?B?UmU6INCi0LXQv9C10YDRjCDQvdC10LvRjNC30Y8g0LLRi9GB0YLQsNCy0LvRj9GC?= =?UTF-8?B?0Ywg0YLQuNC/INC60L7QvdGC0LXQvdGC0LAh?= In-Reply-To: References: <20130922182053.GB2170@mdounin.ru> Message-ID: мы через log_by_lua ведем счетчики в "shared memory", а потом через content_by_lua их снимаем 7 августа 2014 г., 21:49 пользователь rand257 написал: > Доброго времени суток! > > Извиняюсь за поднятие столь старой темы, но она полностью соответствует > моему вопросу. > > Итак: > Имеется nginx, php-fpm и сайт файлохранилища, в котором для выдачи > статических файлов используется заголовок X-Accel-Redirect в отдельный > специальный локейшен. В этом локейшене выставлен post_action на вызов > php-скрипта, подсчитывающий статистику по трафику с выполненного запроса и > количеству завершенных/незавершенных скачиваний файлов. После обновления > nginx с некоей доисторической версии на современную 1.6.1 скрипт статистики > более не вызывается, в логах имеется упоминавшийся здесь алерт "header > already sent while reading response". > > Однако, перестать выдавать заголовки на стороне php мы не можем, т.к. > статические файлы хранятся без расширений и с обезличенными названиями - > соответственно, нужно выставлять Content-Disposition и Content-type. > Отказаться от X-Accel-Redirect и передавать средствами php крупные > статические файлы кажется ресурсозатратным и нецелесообразным. Отказаться от > учета статистики на лету по post_action - в целом, тоже нежелательно. > > Есть ли какая-либо другая возможность организовать совместную работу > post_action и X-Accel-Redirect в современных версиях nginx? > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,243030,252389#msg-252389 > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From nginx-forum at nginx.us Thu Aug 7 19:16:32 2014 From: nginx-forum at nginx.us (dmitrydeco) Date: Thu, 07 Aug 2014 15:16:32 -0400 Subject: =?UTF-8?B?0KPRgdGC0LDQvdC+0LLQutCwINC80L7QtNGD0LvRjyB8IGh0dHAgc2VjdXJlIGxp?= =?UTF-8?B?bmsgbW9kdWxlICYgbXA0?= Message-ID: <0393552fa82c50bd7d3b6f40198de101.NginxMailingListRussian@forum.nginx.org> Здравствуйте форумчане. Недавно появилась задача установки модуля http_secure_link_module в связке с http_mp4_module. Последний я установил верно, всё работает отлично, как часы, но вот http_secure_link_module наотрез отказывается работать. Привожу nginx -V: nginx version: nginx/1.2.1 built by gcc 4.7.2 (Debian 4.7.2-5) TLS SNI support enabled 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-pcre-jit --with-debug --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_realip_module --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module --with-http_xslt_module --with-ipv6 --with-sha1=/usr/include/openssl --with-md5=/usr/include/openssl --with-mail --with-mail_ssl_module --with-http_mp4_module --with-http_secure_link_module Как видно, модуль есть в сборке. Покопавшись в интернете, настраиваю модуль http_secure_link_module: location /get/ { rewrite /getvideo/([a-zA-Z0-9_\-]*)/([0-9]*)/(.*)\.mp4$ /video/$3.mp4?secl=$1§=$2; } location ~ /video/(.*)\.mp4$ { secure_link $arg_secl,$arg_sect; secure_link_md5 secretword$uri$arg_sect$remote_addr; if ($secure_link = "") { return 403; } if ($secure_link = "0") { return 404; } rewrite ^/video/(.*)$ /video/$1 break; root /home/project1/videos; } Файлы у меня лежат в дирректории /home/project1/videos. Структура папок древовидная, то есть видео у меня хранится, например, в /home/project1/videos/a1/b2/c3/a1b2c3.mp4 generate.php - генерация ссылки: $name = "a1/b2/c3/a1b2c3.mp4"; $secret = 'secretword'; $time = time() + 10800; //ссылка будет рабочей три часа $key = str_replace("=", "", strtr(base64_encode(md5($secret.'/home/project1/videos/'.$name.$time.getenv("REMOTE_ADDR"), TRUE)), "+/", "-_")); $encoded_url = "http://site.ru/get/$key/$time/$name"; echo $encoded_url; Я не могу понять, где написано в конфиге, откуда брать видео? При открытии ссылки сгенерированной, 403 ошибку показывает. Прошу помощи, профессионалы. Весь день изучал гугл, пытался сделать сам. Заранее благодарю. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252399,252399#msg-252399 From mdounin at mdounin.ru Fri Aug 8 10:46:28 2014 From: mdounin at mdounin.ru (Maxim Dounin) Date: Fri, 8 Aug 2014 14:46:28 +0400 Subject: 400 Bad Request.No required SSL certificate was sent In-Reply-To: <080ae8663c5d45519e8fe2fe1d680766.NginxMailingListRussian@forum.nginx.org> References: <20140806083459.GB1849@mdounin.ru> <080ae8663c5d45519e8fe2fe1d680766.NginxMailingListRussian@forum.nginx.org> Message-ID: <20140808104628.GO1849@mdounin.ru> Hello! On Thu, Aug 07, 2014 at 09:17:45AM -0400, esirenko wrote: > Сейчас идёт тестирование на CentOS 5.2 > > Установил CURL > [root at nginx-test nginx]# curl --version > curl 7.37.1 (x86_64-unknown-linux-gnu) libcurl/7.37.1 > ========================================= > > если ssl_protocols TSLv1 или ниже - то всё ок На CentOS 5.2 штатно OpenSSL 0.9.8, и ничего новее TLS 1.0 там просто нет. Чтобы было - нужно обновить OpenSSL. [...] > В Opera и IE также нормально работают с сайтом. Проблемы Chrome - это его > проблемы и буду писать в их саппорт если прижмёт. > Хотя пробовал и с именованым сайтом и с вызовами напрямую через IP. Судя по процитированному ответу OpenSSL - вы так и не сделали нормальный сертификат для сервер, с указанием используемого DNS-имени сервера. Не стоит ожидать, что без этого заработает. -- Maxim Dounin http://nginx.org/ From mdounin at mdounin.ru Fri Aug 8 14:02:24 2014 From: mdounin at mdounin.ru (Maxim Dounin) Date: Fri, 8 Aug 2014 18:02:24 +0400 Subject: =?UTF-8?B?UmU6INCi0LXQv9C10YDRjCDQvdC10LvRjNC30Y8g0LLRi9GB0YLQsNCy0LvRj9GC?= =?UTF-8?B?0Ywg0YLQuNC/INC60L7QvdGC0LXQvdGC0LAh?= In-Reply-To: References: <20130922182053.GB2170@mdounin.ru> Message-ID: <20140808140224.GS1849@mdounin.ru> Hello! On Thu, Aug 07, 2014 at 11:49:01AM -0400, rand257 wrote: > Доброго времени суток! > > Извиняюсь за поднятие столь старой темы, но она полностью соответствует > моему вопросу. > > Итак: > Имеется nginx, php-fpm и сайт файлохранилища, в котором для выдачи > статических файлов используется заголовок X-Accel-Redirect в отдельный > специальный локейшен. В этом локейшене выставлен post_action на вызов > php-скрипта, подсчитывающий статистику по трафику с выполненного запроса и > количеству завершенных/незавершенных скачиваний файлов. После обновления > nginx с некоей доисторической версии на современную 1.6.1 скрипт статистики > более не вызывается, в логах имеется упоминавшийся здесь алерт "header > already sent while reading response". Это выглядит как ошибка, post_action не должен приводить к срабатыванию этой проверки, т.к. заголовок на самом деле второй раз не посылает. Патч: --- a/src/http/ngx_http_core_module.c +++ b/src/http/ngx_http_core_module.c @@ -1972,7 +1972,7 @@ ngx_http_send_response(ngx_http_request_ ngx_int_t ngx_http_send_header(ngx_http_request_t *r) { - if (r->header_sent) { + if (r->header_sent && !r->post_action) { ngx_log_error(NGX_LOG_ALERT, r->connection->log, 0, "header already sent"); return NGX_ERROR; -- Maxim Dounin http://nginx.org/ From nginx-forum at nginx.us Fri Aug 8 15:42:14 2014 From: nginx-forum at nginx.us (Kurk_SS) Date: Fri, 08 Aug 2014 11:42:14 -0400 Subject: Access-Control-Allow-Origin VS fastcgi_cache Message-ID: <00c0e52cf302cb082cd94baccdc36201.NginxMailingListRussian@forum.nginx.org> Столкнулся с проблемой. для конфига location @echofile { include fastcgi_params; fastcgi_param QUERY_STRING controller=files&target=$request_uri; fastcgi_param SCRIPT_FILENAME $root_path/index.php; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_ignore_headers "Expires" "Cache-Control" "Set-Cookie"; fastcgi_param HTTP_RANGE $http_range; fastcgi_temp_path /tmp/fcache 1 2; fastcgi_cache fcache; fastcgi_cache_key "$request_uri"; fastcgi_hide_header "Set-Cookie"; #allow cross-domain for anyprotect if ($http_origin ~ "^http://(www\.)?mysite.(com|local)") { add_header "Access-Control-Allow-Origin" "$http_origin"; } fastcgi_cache_min_uses 1; #fastcgi_cache_valid 1d; } Кешируеться файл вместе с заголовками. в итоге, получаеться не то что я хотел. с локальной машины обратился за файлом аджаксом получил разрешение для mysite.local и уже нельзя получить файлы аджаксом для продакшин версии, ибо она вместо разрешения для mysite.com получает разрешение для mysite.local собственно вопрос. как при кешировании добавлять заголовки отдельно? или как мне лучше поступить - если я хочу кешировать маленькие файлы, и хочу только одному сайту разрешить аджаксом запрашивать файлы. ?? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252423,252423#msg-252423 From mdounin at mdounin.ru Fri Aug 8 17:12:45 2014 From: mdounin at mdounin.ru (Maxim Dounin) Date: Fri, 8 Aug 2014 21:12:45 +0400 Subject: Access-Control-Allow-Origin VS fastcgi_cache In-Reply-To: <00c0e52cf302cb082cd94baccdc36201.NginxMailingListRussian@forum.nginx.org> References: <00c0e52cf302cb082cd94baccdc36201.NginxMailingListRussian@forum.nginx.org> Message-ID: <20140808171245.GX1849@mdounin.ru> Hello! On Fri, Aug 08, 2014 at 11:42:14AM -0400, Kurk_SS wrote: [...] > собственно вопрос. как при кешировании добавлять заголовки отдельно? Директива add_header работает после кеша. > или как мне лучше поступить - если я хочу кешировать маленькие файлы, и хочу > только одному сайту разрешить аджаксом запрашивать файлы. > ?? Простейший вариант - просто добавить заголовок Access-Control-Allow-Origin с нужным сайтом в нём. -- Maxim Dounin http://nginx.org/ From alexandr at tverdikov.ru Tue Aug 12 10:54:01 2014 From: alexandr at tverdikov.ru (=?UTF-8?B?0KLQstC10YDQtNC40LrQvtCyINCQ0LvQtdC60YHQsNC90LTRgA==?=) Date: Tue, 12 Aug 2014 17:54:01 +0700 Subject: =?UTF-8?B?0J7QsdGA0LDQsdC+0YLQutCwINC90LXQutC+0YDRgNC10LrRgtC90YvRhSDQt9Cw?= =?UTF-8?B?0L/RgNC+0YHQvtCy?= Message-ID: <53E9F249.1040204@tverdikov.ru> Суть в том что, если отправить на nginx запрос вида site.ru/%% nginx автоматом отдает 400 ошибку, можно прописать чтобы вместо 400 отдавалась статичный html ? -- ------------------------------ С уважением, Александр. Мои контакты: icq : 271715650 jabber: atverdikov at jabber.ru skype : ATverdikov ------------------------------ From me at kemko.ru Tue Aug 12 10:55:59 2014 From: me at kemko.ru (=?UTF-8?B?0JTQvNC40YLRgNC40Lkg0JDQvdC00YDQtdC10LI=?=) Date: Tue, 12 Aug 2014 14:55:59 +0400 Subject: =?UTF-8?B?UmU6INCe0LHRgNCw0LHQvtGC0LrQsCDQvdC10LrQvtGA0YDQtdC60YLQvdGL0YUg?= =?UTF-8?B?0LfQsNC/0YDQvtGB0L7Qsg==?= In-Reply-To: <53E9F249.1040204@tverdikov.ru> References: <53E9F249.1040204@tverdikov.ru> Message-ID: http://nginx.org/ru/docs/http/ngx_http_core_module.html#error_page -------------- next part -------------- An HTML attachment was scrubbed... URL: From lists at nextus.me Tue Aug 12 13:12:07 2014 From: lists at nextus.me (nextus) Date: Tue, 12 Aug 2014 17:12:07 +0400 Subject: =?UTF-8?B?0JzQtdGF0LDQvdC40LfQvCDQv9C+0LTRgdGH0ZHRgtCwICRyZXF1ZXN0X3RpbWUg?= =?UTF-8?B?0LIgbGludXgg0LggZnJlZWJzZA==?= Message-ID: <53EA12A7.7090004@nextus.me> Всем привет. При попытке миграции кластера с freebsd на linux, увидел огромную разницу в $request_time: на linux это значение выше абсолютно для всех запросов. Копание в tcpdump'е привело к таким выводам: на FreeBSD в $request_time хранится значение, когда nginx полностью послал ответ с HTTP-статусом, не дожидаясь ACK'ов от клиента, тогда как в linux'е берётся в расчёт целиком вся tcp-сессия, до последнего FIN/ACK'а (keep-alive выключен на обоих серверах). При заинтересованности, могу сделать скриншоты wireshark'а и соответствующих строчек в access log'ах. From vbart at nginx.com Tue Aug 12 13:19:29 2014 From: vbart at nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Tue, 12 Aug 2014 17:19:29 +0400 Subject: =?UTF-8?B?UmU6INCc0LXRhdCw0L3QuNC30Lwg0L/QvtC00YHRh9GR0YLQsCAkcmVxdWVzdF90?= =?UTF-8?B?aW1lINCyIGxpbnV4INC4IGZyZWVic2Q=?= In-Reply-To: <53EA12A7.7090004@nextus.me> References: <53EA12A7.7090004@nextus.me> Message-ID: <5993775.mtbi2EMpWK@vbart-workstation> On Tuesday 12 August 2014 17:12:07 nextus wrote: > Всем привет. > При попытке миграции кластера с freebsd на linux, увидел огромную > разницу в $request_time: на linux это значение выше абсолютно для всех > запросов. Копание в tcpdump'е привело к таким выводам: на FreeBSD в > $request_time хранится значение, когда nginx полностью послал ответ с > HTTP-статусом, не дожидаясь ACK'ов от клиента, тогда как в linux'е > берётся в расчёт целиком вся tcp-сессия, до последнего FIN/ACK'а > (keep-alive выключен на обоих серверах). При заинтересованности, могу > сделать скриншоты wireshark'а и соответствующих строчек в access log'ах. > http://nginx.org/r/lingering_close/ru (стоит добавить, что с упомянутой "эвристикой" на linux сейчас плохо) -- Валентин Бартенев From lists at nextus.me Tue Aug 12 13:53:26 2014 From: lists at nextus.me (nextus) Date: Tue, 12 Aug 2014 17:53:26 +0400 Subject: =?UTF-8?B?UmU6INCc0LXRhdCw0L3QuNC30Lwg0L/QvtC00YHRh9GR0YLQsCAkcmVxdWVzdF90?= =?UTF-8?B?aW1lINCyIGxpbnV4INC4IGZyZWVic2Q=?= In-Reply-To: <5993775.mtbi2EMpWK@vbart-workstation> References: <53EA12A7.7090004@nextus.me> <5993775.mtbi2EMpWK@vbart-workstation> Message-ID: <53EA1C56.9010508@nextus.me> Спасибо. А где можно, кроме исходников, почитать про эту эвристику? On 12.08.2014 17:19, Валентин Бартенев wrote: > http://nginx.org/r/lingering_close/ru > (стоит добавить, что с упомянутой "эвристикой" на linux сейчас плохо) From sargaskn at gmail.com Tue Aug 12 19:34:03 2014 From: sargaskn at gmail.com (Sargas) Date: Tue, 12 Aug 2014 22:34:03 +0300 Subject: GEOIP2 Message-ID: Приветствую. Появилась какая-то новая база geoip2 http://dev.maxmind.com/geoip/geoip2/downloadable/ Будет ли в ближайшем будущем работать стандартный модуль ngx_http_geoip_module с ней? -------------- next part -------------- An HTML attachment was scrubbed... URL: From mva at mva.name Wed Aug 13 08:08:33 2014 From: mva at mva.name (Vadim A. Misbakh-Soloviov) Date: Wed, 13 Aug 2014 15:08:33 +0700 Subject: GEOIP2 In-Reply-To: References: Message-ID: <5545346.VM2b4f4z3V@note> В письме от Вт, 12 августа 2014 22:34:03 пользователь Sargas написал: > Приветствую. > > Появилась какая-то новая база geoip2 > http://dev.maxmind.com/geoip/geoip2/downloadable/ > Будет ли в ближайшем будущем работать стандартный модуль > ngx_http_geoip_module с ней? https://github.com/leev/ngx_http_geoip2_module -- Best regsrds, mva -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: This is a digitally signed message part. URL: From meganuke at meganuke.ru Wed Aug 13 09:24:25 2014 From: meganuke at meganuke.ru (meganuke at meganuke.ru) Date: Wed, 13 Aug 2014 13:24:25 +0400 Subject: GEOIP2 In-Reply-To: References: Message-ID: <1407921865.852902566@f13.my.com> По вашей же ссылке написано про 3rd party module для nginx Вторник, 12 августа 2014 г., 23:34 +0400 from Sargas : Приветствую. Появилась какая-то новая база geoip2 http://dev.maxmind.com/geoip/geoip2/downloadable/ Будет ли в ближайшем будущем работать стандартный модуль ngx_http_geoip_module с ней? _______________________________________________ nginx-ru mailing list nginx-ru at nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru -------------- next part -------------- An HTML attachment was scrubbed... URL: From anatoly at sonru.com Thu Aug 14 10:33:00 2014 From: anatoly at sonru.com (Anatoly Mikhailov) Date: Thu, 14 Aug 2014 11:33:00 +0100 Subject: =?UTF-8?B?UmU6INCj0YHRgtCw0L3QvtCy0LrQsCDQvNC+0LTRg9C70Y8gfCBodHRwIHNlY3Vy?= =?UTF-8?B?ZSBsaW5rIG1vZHVsZSAmIG1wNA==?= In-Reply-To: <0393552fa82c50bd7d3b6f40198de101.NginxMailingListRussian@forum.nginx.org> References: <0393552fa82c50bd7d3b6f40198de101.NginxMailingListRussian@forum.nginx.org> Message-ID: location /video должен быть internal, если не хотите дать доступ напрямую, а видео будут браться из дерективы root (/home/project1/videos в вашем случае). Также не понятен rewrite в локейшне /video. Как все это работает: 1) запрос пошел на /get/sdfasdfsdf/12312312/test.mp4 2) rewrite вытаскивает имя файла, а токен ?sdfasdfsdf? и timestamp ?12312312? отправляет аргументами, чтобы проверить соответствие зашифрованному имени файла (включая пароль secretword) 3) если токен и timestamp, проще скажем ?соответствует", то location срабатывает и файл отдается из директории root обратно http ответом, иначе 403/404 Вы упомянули про структуру директорий: /home/project1/videos/a1/b2/c3/a1b2c3.mp4, в этом случае вам нужно перехватывать и передавать директорию, кроме непосредственно самого имени файла. В вашем примере все расчитано на то, что структура директории плоская и файлы лежат кучей. Анатолий On 07 Aug 2014, at 20:16, dmitrydeco wrote: > Здравствуйте форумчане. Недавно появилась задача установки модуля > http_secure_link_module в связке с http_mp4_module. Последний я установил > верно, всё работает отлично, как часы, но вот http_secure_link_module > наотрез отказывается работать. > > Привожу nginx -V: > > nginx version: nginx/1.2.1 > built by gcc 4.7.2 (Debian 4.7.2-5) > TLS SNI support enabled > 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-pcre-jit --with-debug > --with-http_addition_module --with-http_dav_module --with-http_geoip_module > --with-http_gzip_static_module --with-http_image_filter_module > --with-http_realip_module --with-http_stub_status_module > --with-http_ssl_module --with-http_sub_module --with-http_xslt_module > --with-ipv6 --with-sha1=/usr/include/openssl --with-md5=/usr/include/openssl > --with-mail --with-mail_ssl_module --with-http_mp4_module > --with-http_secure_link_module > > Как видно, модуль есть в сборке. > Покопавшись в интернете, настраиваю модуль http_secure_link_module: > > location /get/ { > rewrite /getvideo/([a-zA-Z0-9_\-]*)/([0-9]*)/(.*)\.mp4$ > /video/$3.mp4?secl=$1§=$2; > } > > location ~ /video/(.*)\.mp4$ { > secure_link $arg_secl,$arg_sect; > secure_link_md5 secretword$uri$arg_sect$remote_addr; > if ($secure_link = "") { return 403; } > if ($secure_link = "0") { return 404; } > rewrite ^/video/(.*)$ /video/$1 break; > root /home/project1/videos; > } > > Файлы у меня лежат в дирректории /home/project1/videos. Структура папок > древовидная, то есть видео у меня хранится, например, в > /home/project1/videos/a1/b2/c3/a1b2c3.mp4 > > generate.php - генерация ссылки: > > $name = "a1/b2/c3/a1b2c3.mp4"; > $secret = 'secretword'; > $time = time() + 10800; //ссылка будет рабочей три часа > $key = str_replace("=", "", > strtr(base64_encode(md5($secret.'/home/project1/videos/'.$name.$time.getenv("REMOTE_ADDR"), > TRUE)), "+/", "-_")); > $encoded_url = "http://site.ru/get/$key/$time/$name"; > echo $encoded_url; > > Я не могу понять, где написано в конфиге, откуда брать видео? > При открытии ссылки сгенерированной, 403 ошибку показывает. Прошу помощи, > профессионалы. Весь день изучал гугл, пытался сделать сам. Заранее > благодарю. > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252399,252399#msg-252399 > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From nginx-forum at nginx.us Fri Aug 15 23:21:34 2014 From: nginx-forum at nginx.us (mEajof) Date: Fri, 15 Aug 2014 19:21:34 -0400 Subject: =?UTF-8?B?0KHRgtGA0LDQvdC90L7QtSDQv9C+0LLQtdC00LXQvdC40LUgbWFw?= Message-ID: Столкнулся сегодня с тем, что не могу вывести содержание переменной, полученной из регекспа. Пример конфига: map $uri $header_two { default ""; ~/selfy/(?.*.+\.(mp4|m4v|avi|mp3|3gp|flv|mpeg|ogg|wmv)) 'attachment; filename="$fname"'; } add_header Content-Disposition $header_two; Пытался так же с "attachment; filename=\"$fname\""; и даже просто "'' $fname"; - в хэдер сразу вываливается название переменной, вместо имени. Пробовал вместо общего хедера - хедер в локейшене. Результат тот-же. Испытывалось на 1.2.1 и 1.6.1 версиях location ~ /selfy { add_header Content-Disposition 'attachment; filename="$header_two"'; } Регекспы так же пробовал составлять по разному Я где-то неправ, или это баг/фича? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252601,252601#msg-252601 From nginx-forum at nginx.us Fri Aug 15 23:23:18 2014 From: nginx-forum at nginx.us (mEajof) Date: Fri, 15 Aug 2014 19:23:18 -0400 Subject: =?UTF-8?B?UmU6INCh0YLRgNCw0L3QvdC+0LUg0L/QvtCy0LXQtNC10L3QuNC1IG1hcA==?= In-Reply-To: References: Message-ID: <269352ace7d1cb6841d09a26f51ad36c.NginxMailingListRussian@forum.nginx.org> Что заработало, так это: map $uri $header_one { default ""; ~/selfy/(?.*.+\.(mp4|m4v|avi|mp3|3gp|flv|mpeg|ogg|wmv)) "$fname"; } location ~ /selfy { add_header Content-Disposition 'attachment; filename="$header_one"'; } но хотелось бы без локейшна Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252601,252602#msg-252602 From lego12239 at yandex.ru Sat Aug 16 09:47:15 2014 From: lego12239 at yandex.ru (Oleg) Date: Sat, 16 Aug 2014 13:47:15 +0400 Subject: =?UTF-8?B?0J/QvtC70YPRh9C10L3QuNC1INC30L3QsNGH0LXQvdC40Y8g0LfQsNCz0L7Qu9C+?= =?UTF-8?B?0LLQutCwINC40Lcg0LfQsNC/0YDQvtGB0LA=?= Message-ID: <20140816094715.GA32451@localhost> Всем привет. Вопрос к разработчикам - вот тут есть хорошая функция search_headers_in: http://wiki.nginx.org/HeadersManagement#Brute_force_search_for_one_header_with_the_specified_name Почему, собственно, её бы не добавить в nginx? А то приходится городить её в каждом модуле, где нужен доступ к нестандартным заголовкам. From vbart at nginx.com Sun Aug 17 10:10:11 2014 From: vbart at nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Sun, 17 Aug 2014 14:10:11 +0400 Subject: =?UTF-8?B?UmU6INCc0LXRhdCw0L3QuNC30Lwg0L/QvtC00YHRh9GR0YLQsCAkcmVxdWVzdF90?= =?UTF-8?B?aW1lINCyIGxpbnV4INC4IGZyZWVic2Q=?= In-Reply-To: <53EA1C56.9010508@nextus.me> References: <53EA12A7.7090004@nextus.me> <5993775.mtbi2EMpWK@vbart-workstation> <53EA1C56.9010508@nextus.me> Message-ID: <13809953.W8okOhniBX@vbart-laptop> On Tuesday 12 August 2014 17:53:26 nextus wrote: > Спасибо. А где можно, кроме исходников, почитать про эту эвристику? > Подозреваю, что больше негде. -- Валентин Бартенев From vbart at nginx.com Sun Aug 17 11:50:10 2014 From: vbart at nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Sun, 17 Aug 2014 15:50:10 +0400 Subject: =?UTF-8?B?UmU6INCh0YLRgNCw0L3QvdC+0LUg0L/QvtCy0LXQtNC10L3QuNC1IG1hcA==?= In-Reply-To: References: Message-ID: <3204010.pemCbEDL8A@vbart-laptop> On Friday 15 August 2014 19:21:34 mEajof wrote: > Столкнулся сегодня с тем, что не могу вывести содержание переменной, > полученной из регекспа. > Пример конфига: > > map $uri $header_two { > default ""; > ~/selfy/(?.*.+\.(mp4|m4v|avi|mp3|3gp|flv|mpeg|ogg|wmv)) > 'attachment; filename="$fname"'; > } $uri в map - верный признак того, что делаете что-то неправильно. Для разделения конфигурации по $uri специально существует директива location - ей и нужно пользоваться. > > add_header Content-Disposition $header_two; > > Пытался так же с > "attachment; filename=\"$fname\""; > > и даже просто "'' $fname"; - в хэдер сразу вываливается название переменной, > вместо имени. > [..] Из документации по map: "В качестве результирующего значения можно указать строку или другую переменную (0.9.0)." Возможности использовать строку с переменными директива не предоставляет, соответственно ваша строка интерпретируется как строка. -- Валентин Бартенев From nginx-forum at nginx.us Tue Aug 19 12:10:29 2014 From: nginx-forum at nginx.us (yury_y) Date: Tue, 19 Aug 2014 08:10:29 -0400 Subject: =?UTF-8?B?0JHQvtC70YzRiNCw0Y8g0LTQuNGB0L/QtdGA0YHQuNGPINCy0YDQtdC80LXQvdC4?= =?UTF-8?B?INCy0YvQv9C+0LvQvdC10L3QuNGPINC30LDQv9GA0L7RgdC+0LI=?= Message-ID: Добрый день, столкнулся со следующей проблемой. Сервер работает под нагрузкой порядка 300-400 запросов в минуту. Из статистики времени выполнения запросов видно, что в некоторых случаях "быстрые" запросы, которые обычно занимают несколько миллисекунд, могут выполняться по несколько секунд. Для иллюстрации проблемы можно рассмотреть такой пример. Выполняется GET запрос "http://127.0.0.1:777/fcgi/auth..."(без ssl, без поиска в dns, сервер слушает на localhost) с локального клиента(на том же сервере). Запрос, который обычно занимает меньше миллисекунды, в данном случае занимает 130 миллисекунд. Здесь краткая хронология событий из tcpdump-а: 16:18:43.095716 - клиент отправляет запрос nginx-у 16:18:43.225903 - nginx отправляет запрос upstream-у 16:18:43.226178 - upstream отвечает nginx-у 16:18:43.226235 - nginx отвечает клиенту Таким образом upstream отвечает по запрос менее чем за миллисекунду, но 130 миллисекунд уходит на то чтобы прочесть клиентский запрос и переслать его в upstream. Такое же поведение наблюдается и при отдаче статики. Кто-нибудь сталкивался с подобными проблемами? В каком направлении можно копать? С уважением, Юрий <--nginx to client tcpdump---------------------> 2014-08-15 16:18:43.095653 IP 127.0.0.1.17573 > 127.0.0.1.777: Flags [S], seq 2328271692, win 65535, options [mss 16344,nop,wscale 6,sackOK,TS val 2588746027 ecr 0], length 0 2014-08-15 16:18:43.095673 IP 127.0.0.1.777 > 127.0.0.1.17573: Flags [S.], seq 1912981495, ack 2328271693, win 65535, options [mss 16344,nop,wscale 6,sackOK,TS val 858797424 ecr 2588746027], length 0 2014-08-15 16:18:43.095687 IP 127.0.0.1.17573 > 127.0.0.1.777: Flags [.], ack 1, win 1275, options [nop,nop,TS val 2588746027 ecr 858797424], length 0 2014-08-15 16:18:43.095716 IP 127.0.0.1.17573 > 127.0.0.1.777: Flags [P.], seq 1:133, ack 1, win 1275, options [nop,nop,TS val 2588746027 ecr 858797424], length 132 2014-08-15 16:18:43.195641 IP 127.0.0.1.777 > 127.0.0.1.17573: Flags [.], ack 133, win 1273, options [nop,nop,TS val 858797524 ecr 2588746027], length 0 2014-08-15 16:18:43.226235 IP 127.0.0.1.777 > 127.0.0.1.17573: Flags [P.], seq 1:250, ack 133, win 1275, options [nop,nop,TS val 858797554 ecr 2588746027], length 249 2014-08-15 16:18:43.226412 IP 127.0.0.1.17573 > 127.0.0.1.777: Flags [F.], seq 133, ack 250, win 1275, options [nop,nop,TS val 2588746157 ecr 858797554], length 0 2014-08-15 16:18:43.226440 IP 127.0.0.1.777 > 127.0.0.1.17573: Flags [.], ack 134, win 1275, options [nop,nop,TS val 858797554 ecr 2588746157], length 0 2014-08-15 16:18:43.226450 IP 127.0.0.1.777 > 127.0.0.1.17573: Flags [F.], seq 250, ack 134, win 1275, options [nop,nop,TS val 858797554 ecr 2588746157], length 0 2014-08-15 16:18:43.455652 IP 127.0.0.1.777 > 127.0.0.1.17573: Flags [F.], seq 250, ack 134, win 1275, options [nop,nop,TS val 858797784 ecr 2588746157], length 0 2014-08-15 16:18:43.715642 IP 127.0.0.1.777 > 127.0.0.1.17573: Flags [F.], seq 250, ack 134, win 1275, options [nop,nop,TS val 858798044 ecr 2588746157], length 0 2014-08-15 16:18:44.035649 IP 127.0.0.1.777 > 127.0.0.1.17573: Flags [F.], seq 250, ack 134, win 1275, options [nop,nop,TS val 858798364 ecr 2588746157], length 0 <-------------------------------------------------------------> <--nginx to upstream tcpdump-------------------> 2014-08-15 16:18:43.225762 IP 127.0.0.1.17591 > 127.0.0.1.1300: Flags [S], seq 1606422700, win 65535, options [mss 16344,nop,wscale 6,sackOK,TS val 2588746157 ecr 0], length 0 2014-08-15 16:18:43.225785 IP 127.0.0.1.1300 > 127.0.0.1.17591: Flags [S.], seq 212542195, ack 1606422701, win 65535, options [mss 16344,nop,wscale 6,sackOK,TS val 3738538996 ecr 2588746157], length 0 2014-08-15 16:18:43.225793 IP 127.0.0.1.17591 > 127.0.0.1.1300: Flags [.], ack 1, win 1275, options [nop,nop,TS val 2588746157 ecr 3738538996], length 0 2014-08-15 16:18:43.225903 IP 127.0.0.1.17591 > 127.0.0.1.1300: Flags [P.], seq 1:577, ack 1, win 1275, options [nop,nop,TS val 2588746157 ecr 3738538996], length 576 2014-08-15 16:18:43.226178 IP 127.0.0.1.1300 > 127.0.0.1.17591: Flags [P.], seq 1:121, ack 577, win 1275, options [nop,nop,TS val 3738538996 ecr 2588746157], length 120 2014-08-15 16:18:43.226187 IP 127.0.0.1.1300 > 127.0.0.1.17591: Flags [F.], seq 121, ack 577, win 1275, options [nop,nop,TS val 3738538996 ecr 2588746157], length 0 2014-08-15 16:18:43.226198 IP 127.0.0.1.17591 > 127.0.0.1.1300: Flags [.], ack 122, win 1274, options [nop,nop,TS val 2588746157 ecr 3738538996], length 0 2014-08-15 16:18:43.226222 IP 127.0.0.1.17591 > 127.0.0.1.1300: Flags [F.], seq 577, ack 122, win 1275, options [nop,nop,TS val 2588746157 ecr 3738538996], length 0 2014-08-15 16:18:43.455643 IP 127.0.0.1.17591 > 127.0.0.1.1300: Flags [F.], seq 577, ack 122, win 1275, options [nop,nop,TS val 2588746387 ecr 3738538996], length 0 2014-08-15 16:18:43.455661 IP 127.0.0.1.1300 > 127.0.0.1.17591: Flags [R], seq 212542317, win 0, length 0 <---------------------------------------------------> <--server info----------------------------------> os: FreeBSD 9.2-RELEASE-p3 arch: amd64 number of cores: 48 ram merory size: 32GB nginx verson: 1.6.0 nginx workers count: 32 <----------------------------------------------------> <---nginx.conf----------------------------------> user datauser; daemon off; worker_processes 32; events { worker_connections 1024; } http { include .../mime.types; gzip on; gzip_http_version 1.0; gzip_comp_level 2; gzip_proxied any; gzip_min_length 1100; gzip_buffers 16 8k; gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript; gzip_disable "MSIE [1-6].(?!.*SV1)"; gzip_vary on; client_max_body_size 65m; client_body_buffer_size 128k; client_body_temp_path /tmp/nginx/client_body_temp; default_type application/octet-stream; sendfile on; ... upstreams ... ... servers ... server { listen 127.0.0.1:777; location ~* ^/fcgi/(.*)$ { fastcgi_pass 127.0.0.1:1300; include fastcgi_params; rewrite ^/fcgi/(.*)$ /$1 break; } } <----------------------------------------------> Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252669,252669#msg-252669 From dmitry.goryainov at gmail.com Tue Aug 19 12:21:16 2014 From: dmitry.goryainov at gmail.com (Dmitry) Date: Tue, 19 Aug 2014 16:21:16 +0400 Subject: =?UTF-8?B?UmU6INCR0L7Qu9GM0YjQsNGPINC00LjRgdC/0LXRgNGB0LjRjyDQstGA0LXQvNC1?= =?UTF-8?B?0L3QuCDQstGL0L/QvtC70L3QtdC90LjRjyDQt9Cw0L/RgNC+0YHQvtCy?= In-Reply-To: References: Message-ID: Странно это. 300-400 запросов в минуту это порядка 5-7 в секунду, т.е. не много. Upstream запрос завершает или как? Например для php fastcgi_finish_request? Нет ли ошибок выполнения, которые как-то обрабатываются? Ожидания закрытия каких-то соединений, буферов и т.п.? 19 авг. 2014 г. 16:10 пользователь "yury_y" написал: > Добрый день, > > столкнулся со следующей проблемой. Сервер работает под нагрузкой порядка > 300-400 запросов в минуту. > Из статистики времени выполнения запросов видно, что в некоторых случаях > "быстрые" запросы, которые обычно занимают несколько миллисекунд, могут > выполняться по несколько секунд. > Для иллюстрации проблемы можно рассмотреть такой пример. > > Выполняется GET запрос "http://127.0.0.1:777/fcgi/auth..."(без ssl, без > поиска в dns, сервер слушает на localhost) с локального клиента(на том же > сервере). > Запрос, который обычно занимает меньше миллисекунды, в данном случае > занимает 130 миллисекунд. > > Здесь краткая хронология событий из tcpdump-а: > 16:18:43.095716 - клиент отправляет запрос nginx-у > 16:18:43.225903 - nginx отправляет запрос upstream-у > 16:18:43.226178 - upstream отвечает nginx-у > 16:18:43.226235 - nginx отвечает клиенту > > Таким образом upstream отвечает по запрос менее чем за миллисекунду, но 130 > миллисекунд уходит на то чтобы прочесть клиентский запрос и переслать его в > upstream. > Такое же поведение наблюдается и при отдаче статики. > > Кто-нибудь сталкивался с подобными проблемами? В каком направлении можно > копать? > > > С уважением, > Юрий > > > <--nginx to client tcpdump---------------------> > 2014-08-15 16:18:43.095653 IP 127.0.0.1.17573 > 127.0.0.1.777: Flags [S], > seq 2328271692, win 65535, options [mss 16344,nop,wscale 6,sackOK,TS val > 2588746027 ecr 0], length 0 > 2014-08-15 16:18:43.095673 IP 127.0.0.1.777 > 127.0.0.1.17573: Flags [S.], > seq 1912981495, ack 2328271693, win 65535, options [mss 16344,nop,wscale > 6,sackOK,TS val 858797424 ecr 2588746027], length 0 > 2014-08-15 16:18:43.095687 IP 127.0.0.1.17573 > 127.0.0.1.777: Flags [.], > ack 1, win 1275, options [nop,nop,TS val 2588746027 ecr 858797424], length > 0 > 2014-08-15 16:18:43.095716 IP 127.0.0.1.17573 > 127.0.0.1.777: Flags [P.], > seq 1:133, ack 1, win 1275, options [nop,nop,TS val 2588746027 ecr > 858797424], length 132 > 2014-08-15 16:18:43.195641 IP 127.0.0.1.777 > 127.0.0.1.17573: Flags [.], > ack 133, win 1273, options [nop,nop,TS val 858797524 ecr 2588746027], > length > 0 > 2014-08-15 16:18:43.226235 IP 127.0.0.1.777 > 127.0.0.1.17573: Flags [P.], > seq 1:250, ack 133, win 1275, options [nop,nop,TS val 858797554 ecr > 2588746027], length 249 > 2014-08-15 16:18:43.226412 IP 127.0.0.1.17573 > 127.0.0.1.777: Flags [F.], > seq 133, ack 250, win 1275, options [nop,nop,TS val 2588746157 ecr > 858797554], length 0 > 2014-08-15 16:18:43.226440 IP 127.0.0.1.777 > 127.0.0.1.17573: Flags [.], > ack 134, win 1275, options [nop,nop,TS val 858797554 ecr 2588746157], > length > 0 > 2014-08-15 16:18:43.226450 IP 127.0.0.1.777 > 127.0.0.1.17573: Flags [F.], > seq 250, ack 134, win 1275, options [nop,nop,TS val 858797554 ecr > 2588746157], length 0 > 2014-08-15 16:18:43.455652 IP 127.0.0.1.777 > 127.0.0.1.17573: Flags [F.], > seq 250, ack 134, win 1275, options [nop,nop,TS val 858797784 ecr > 2588746157], length 0 > 2014-08-15 16:18:43.715642 IP 127.0.0.1.777 > 127.0.0.1.17573: Flags [F.], > seq 250, ack 134, win 1275, options [nop,nop,TS val 858798044 ecr > 2588746157], length 0 > 2014-08-15 16:18:44.035649 IP 127.0.0.1.777 > 127.0.0.1.17573: Flags [F.], > seq 250, ack 134, win 1275, options [nop,nop,TS val 858798364 ecr > 2588746157], length 0 > <-------------------------------------------------------------> > > <--nginx to upstream tcpdump-------------------> > 2014-08-15 16:18:43.225762 IP 127.0.0.1.17591 > 127.0.0.1.1300: Flags [S], > seq 1606422700, win 65535, options [mss 16344,nop,wscale 6,sackOK,TS val > 2588746157 ecr 0], length 0 > 2014-08-15 16:18:43.225785 IP 127.0.0.1.1300 > 127.0.0.1.17591: Flags [S.], > seq 212542195, ack 1606422701, win 65535, options [mss 16344,nop,wscale > 6,sackOK,TS val 3738538996 ecr 2588746157], length 0 > 2014-08-15 16:18:43.225793 IP 127.0.0.1.17591 > 127.0.0.1.1300: Flags [.], > ack 1, win 1275, options [nop,nop,TS val 2588746157 ecr 3738538996], length > 0 > 2014-08-15 16:18:43.225903 IP 127.0.0.1.17591 > 127.0.0.1.1300: Flags [P.], > seq 1:577, ack 1, win 1275, options [nop,nop,TS val 2588746157 ecr > 3738538996], length 576 > 2014-08-15 16:18:43.226178 IP 127.0.0.1.1300 > 127.0.0.1.17591: Flags [P.], > seq 1:121, ack 577, win 1275, options [nop,nop,TS val 3738538996 ecr > 2588746157], length 120 > 2014-08-15 16:18:43.226187 IP 127.0.0.1.1300 > 127.0.0.1.17591: Flags [F.], > seq 121, ack 577, win 1275, options [nop,nop,TS val 3738538996 ecr > 2588746157], length 0 > 2014-08-15 16:18:43.226198 IP 127.0.0.1.17591 > 127.0.0.1.1300: Flags [.], > ack 122, win 1274, options [nop,nop,TS val 2588746157 ecr 3738538996], > length 0 > 2014-08-15 16:18:43.226222 IP 127.0.0.1.17591 > 127.0.0.1.1300: Flags [F.], > seq 577, ack 122, win 1275, options [nop,nop,TS val 2588746157 ecr > 3738538996], length 0 > 2014-08-15 16:18:43.455643 IP 127.0.0.1.17591 > 127.0.0.1.1300: Flags [F.], > seq 577, ack 122, win 1275, options [nop,nop,TS val 2588746387 ecr > 3738538996], length 0 > 2014-08-15 16:18:43.455661 IP 127.0.0.1.1300 > 127.0.0.1.17591: Flags [R], > seq 212542317, win 0, length 0 > <---------------------------------------------------> > > <--server info----------------------------------> > os: FreeBSD 9.2-RELEASE-p3 > arch: amd64 > number of cores: 48 > ram merory size: 32GB > nginx verson: 1.6.0 > nginx workers count: 32 > <----------------------------------------------------> > > <---nginx.conf----------------------------------> > user datauser; > daemon off; > worker_processes 32; > > events > { > worker_connections 1024; > } > > http > { > include .../mime.types; > > gzip on; > gzip_http_version 1.0; > gzip_comp_level 2; > gzip_proxied any; > gzip_min_length 1100; > gzip_buffers 16 8k; > gzip_types text/plain text/css application/x-javascript text/xml > application/xml application/xml+rss text/javascript; > gzip_disable "MSIE [1-6].(?!.*SV1)"; > gzip_vary on; > > client_max_body_size 65m; > client_body_buffer_size 128k; > client_body_temp_path /tmp/nginx/client_body_temp; > default_type application/octet-stream; > sendfile on; > > ... > upstreams > ... > > ... > servers > ... > > server > { > listen 127.0.0.1:777; > > location ~* ^/fcgi/(.*)$ { > fastcgi_pass 127.0.0.1:1300; > include fastcgi_params; > rewrite ^/fcgi/(.*)$ /$1 break; > } > } > <----------------------------------------------> > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,252669,252669#msg-252669 > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -------------- next part -------------- An HTML attachment was scrubbed... URL: From nginx-forum at nginx.us Tue Aug 19 12:34:11 2014 From: nginx-forum at nginx.us (yury_y) Date: Tue, 19 Aug 2014 08:34:11 -0400 Subject: =?UTF-8?B?UmU6INCR0L7Qu9GM0YjQsNGPINC00LjRgdC/0LXRgNGB0LjRjyDQstGA0LXQvNC1?= =?UTF-8?B?0L3QuCDQstGL0L/QvtC70L3QtdC90LjRjyDQt9Cw0L/RgNC+0YHQvtCy?= In-Reply-To: References: Message-ID: <0c7e1166a376cd2543341e587c77dd92.NginxMailingListRussian@forum.nginx.org> Да upstream завершает запрос. Клиенту в итоге приходит корректный ответ. Никаких ошибок нигде нет. Мне кажется врядли это связанно с upstream-ом, т.к. тоже самое проявляется и на статике. И по логам tcpdump видно, что интересующие нас 130 миллисекунд находятся между отправкой запроса с клиента и до отправки запроса в upstream. Dmitry Wrote: ------------------------------------------------------- > Странно это. 300-400 запросов в минуту это порядка 5-7 в секунду, > т.е. не > много. Upstream запрос завершает или как? Например для php > fastcgi_finish_request? Нет ли ошибок выполнения, которые как-то > обрабатываются? Ожидания закрытия каких-то соединений, буферов и > т.п.? > 19 авг. 2014 г. 16:10 пользователь "yury_y" > написал: > > > Добрый день, > > > > столкнулся со следующей проблемой. Сервер работает под нагрузкой > порядка > > 300-400 запросов в минуту. > > Из статистики времени выполнения запросов видно, что в некоторых > случаях > > "быстрые" запросы, которые обычно занимают несколько миллисекунд, > могут > > выполняться по несколько секунд. > > Для иллюстрации проблемы можно рассмотреть такой пример. > > > > Выполняется GET запрос "http://127.0.0.1:777/fcgi/auth..."(без ssl, > без > > поиска в dns, сервер слушает на localhost) с локального клиента(на > том же > > сервере). > > Запрос, который обычно занимает меньше миллисекунды, в данном > случае > > занимает 130 миллисекунд. > > > > Здесь краткая хронология событий из tcpdump-а: > > 16:18:43.095716 - клиент отправляет запрос nginx-у > > 16:18:43.225903 - nginx отправляет запрос upstream-у > > 16:18:43.226178 - upstream отвечает nginx-у > > 16:18:43.226235 - nginx отвечает клиенту > > > > Таким образом upstream отвечает по запрос менее чем за миллисекунду, > но 130 > > миллисекунд уходит на то чтобы прочесть клиентский запрос и > переслать его в > > upstream. > > Такое же поведение наблюдается и при отдаче статики. > > > > Кто-нибудь сталкивался с подобными проблемами? В каком направлении > можно > > копать? > > > > > > С уважением, > > Юрий > > > > > > <--nginx to client tcpdump---------------------> > > 2014-08-15 16:18:43.095653 IP 127.0.0.1.17573 > 127.0.0.1.777: Flags > [S], > > seq 2328271692, win 65535, options [mss 16344,nop,wscale 6,sackOK,TS > val > > 2588746027 ecr 0], length 0 > > 2014-08-15 16:18:43.095673 IP 127.0.0.1.777 > 127.0.0.1.17573: Flags > [S.], > > seq 1912981495, ack 2328271693, win 65535, options [mss > 16344,nop,wscale > > 6,sackOK,TS val 858797424 ecr 2588746027], length 0 > > 2014-08-15 16:18:43.095687 IP 127.0.0.1.17573 > 127.0.0.1.777: Flags > [.], > > ack 1, win 1275, options [nop,nop,TS val 2588746027 ecr 858797424], > length > > 0 > > 2014-08-15 16:18:43.095716 IP 127.0.0.1.17573 > 127.0.0.1.777: Flags > [P.], > > seq 1:133, ack 1, win 1275, options [nop,nop,TS val 2588746027 ecr > > 858797424], length 132 > > 2014-08-15 16:18:43.195641 IP 127.0.0.1.777 > 127.0.0.1.17573: Flags > [.], > > ack 133, win 1273, options [nop,nop,TS val 858797524 ecr > 2588746027], > > length > > 0 > > 2014-08-15 16:18:43.226235 IP 127.0.0.1.777 > 127.0.0.1.17573: Flags > [P.], > > seq 1:250, ack 133, win 1275, options [nop,nop,TS val 858797554 ecr > > 2588746027], length 249 > > 2014-08-15 16:18:43.226412 IP 127.0.0.1.17573 > 127.0.0.1.777: Flags > [F.], > > seq 133, ack 250, win 1275, options [nop,nop,TS val 2588746157 ecr > > 858797554], length 0 > > 2014-08-15 16:18:43.226440 IP 127.0.0.1.777 > 127.0.0.1.17573: Flags > [.], > > ack 134, win 1275, options [nop,nop,TS val 858797554 ecr > 2588746157], > > length > > 0 > > 2014-08-15 16:18:43.226450 IP 127.0.0.1.777 > 127.0.0.1.17573: Flags > [F.], > > seq 250, ack 134, win 1275, options [nop,nop,TS val 858797554 ecr > > 2588746157], length 0 > > 2014-08-15 16:18:43.455652 IP 127.0.0.1.777 > 127.0.0.1.17573: Flags > [F.], > > seq 250, ack 134, win 1275, options [nop,nop,TS val 858797784 ecr > > 2588746157], length 0 > > 2014-08-15 16:18:43.715642 IP 127.0.0.1.777 > 127.0.0.1.17573: Flags > [F.], > > seq 250, ack 134, win 1275, options [nop,nop,TS val 858798044 ecr > > 2588746157], length 0 > > 2014-08-15 16:18:44.035649 IP 127.0.0.1.777 > 127.0.0.1.17573: Flags > [F.], > > seq 250, ack 134, win 1275, options [nop,nop,TS val 858798364 ecr > > 2588746157], length 0 > > <-------------------------------------------------------------> > > > > <--nginx to upstream tcpdump-------------------> > > 2014-08-15 16:18:43.225762 IP 127.0.0.1.17591 > 127.0.0.1.1300: > Flags [S], > > seq 1606422700, win 65535, options [mss 16344,nop,wscale 6,sackOK,TS > val > > 2588746157 ecr 0], length 0 > > 2014-08-15 16:18:43.225785 IP 127.0.0.1.1300 > 127.0.0.1.17591: > Flags [S.], > > seq 212542195, ack 1606422701, win 65535, options [mss > 16344,nop,wscale > > 6,sackOK,TS val 3738538996 ecr 2588746157], length 0 > > 2014-08-15 16:18:43.225793 IP 127.0.0.1.17591 > 127.0.0.1.1300: > Flags [.], > > ack 1, win 1275, options [nop,nop,TS val 2588746157 ecr 3738538996], > length > > 0 > > 2014-08-15 16:18:43.225903 IP 127.0.0.1.17591 > 127.0.0.1.1300: > Flags [P.], > > seq 1:577, ack 1, win 1275, options [nop,nop,TS val 2588746157 ecr > > 3738538996], length 576 > > 2014-08-15 16:18:43.226178 IP 127.0.0.1.1300 > 127.0.0.1.17591: > Flags [P.], > > seq 1:121, ack 577, win 1275, options [nop,nop,TS val 3738538996 > ecr > > 2588746157], length 120 > > 2014-08-15 16:18:43.226187 IP 127.0.0.1.1300 > 127.0.0.1.17591: > Flags [F.], > > seq 121, ack 577, win 1275, options [nop,nop,TS val 3738538996 ecr > > 2588746157], length 0 > > 2014-08-15 16:18:43.226198 IP 127.0.0.1.17591 > 127.0.0.1.1300: > Flags [.], > > ack 122, win 1274, options [nop,nop,TS val 2588746157 ecr > 3738538996], > > length 0 > > 2014-08-15 16:18:43.226222 IP 127.0.0.1.17591 > 127.0.0.1.1300: > Flags [F.], > > seq 577, ack 122, win 1275, options [nop,nop,TS val 2588746157 ecr > > 3738538996], length 0 > > 2014-08-15 16:18:43.455643 IP 127.0.0.1.17591 > 127.0.0.1.1300: > Flags [F.], > > seq 577, ack 122, win 1275, options [nop,nop,TS val 2588746387 ecr > > 3738538996], length 0 > > 2014-08-15 16:18:43.455661 IP 127.0.0.1.1300 > 127.0.0.1.17591: > Flags [R], > > seq 212542317, win 0, length 0 > > <---------------------------------------------------> > > > > <--server info----------------------------------> > > os: FreeBSD 9.2-RELEASE-p3 > > arch: amd64 > > number of cores: 48 > > ram merory size: 32GB > > nginx verson: 1.6.0 > > nginx workers count: 32 > > <----------------------------------------------------> > > > > <---nginx.conf----------------------------------> > > user datauser; > > daemon off; > > worker_processes 32; > > > > events > > { > > worker_connections 1024; > > } > > > > http > > { > > include .../mime.types; > > > > gzip on; > > gzip_http_version 1.0; > > gzip_comp_level 2; > > gzip_proxied any; > > gzip_min_length 1100; > > gzip_buffers 16 8k; > > gzip_types text/plain text/css application/x-javascript > text/xml > > application/xml application/xml+rss text/javascript; > > gzip_disable "MSIE [1-6].(?!.*SV1)"; > > gzip_vary on; > > > > client_max_body_size 65m; > > client_body_buffer_size 128k; > > client_body_temp_path /tmp/nginx/client_body_temp; > > default_type application/octet-stream; > > sendfile on; > > > > ... > > upstreams > > ... > > > > ... > > servers > > ... > > > > server > > { > > listen 127.0.0.1:777; > > > > location ~* ^/fcgi/(.*)$ { > > fastcgi_pass 127.0.0.1:1300; > > include fastcgi_params; > > rewrite ^/fcgi/(.*)$ /$1 break; > > } > > } > > <----------------------------------------------> > > > > Posted at Nginx Forum: > > http://forum.nginx.org/read.php?21,252669,252669#msg-252669 > > > > _______________________________________________ > > nginx-ru mailing list > > nginx-ru at nginx.org > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252669,252671#msg-252671 From gmm at csdoc.com Tue Aug 19 13:27:11 2014 From: gmm at csdoc.com (Gena Makhomed) Date: Tue, 19 Aug 2014 16:27:11 +0300 Subject: =?UTF-8?B?UmU6INCR0L7Qu9GM0YjQsNGPINC00LjRgdC/0LXRgNGB0LjRjyDQstGA0LXQvNC1?= =?UTF-8?B?0L3QuCDQstGL0L/QvtC70L3QtdC90LjRjyDQt9Cw0L/RgNC+0YHQvtCy?= In-Reply-To: References: Message-ID: <53F350AF.1070209@csdoc.com> On 19.08.2014 15:10, yury_y wrote: > столкнулся со следующей проблемой. Сервер работает под нагрузкой порядка > 300-400 запросов в минуту. > Из статистики времени выполнения запросов видно, что в некоторых случаях > "быстрые" запросы, которые обычно занимают несколько миллисекунд, могут > выполняться по несколько секунд. > Для иллюстрации проблемы можно рассмотреть такой пример. > > Выполняется GET запрос "http://127.0.0.1:777/fcgi/auth..."(без ssl, без > поиска в dns, сервер слушает на localhost) с локального клиента(на том же > сервере). > Запрос, который обычно занимает меньше миллисекунды, в данном случае > занимает 130 миллисекунд. > > Здесь краткая хронология событий из tcpdump-а: > 16:18:43.095716 - клиент отправляет запрос nginx-у > 16:18:43.225903 - nginx отправляет запрос upstream-у > 16:18:43.226178 - upstream отвечает nginx-у > 16:18:43.226235 - nginx отвечает клиенту > > Таким образом upstream отвечает по запрос менее чем за миллисекунду, но 130 > миллисекунд уходит на то чтобы прочесть клиентский запрос и переслать его в > upstream. > Такое же поведение наблюдается и при отдаче статики. > > Кто-нибудь сталкивался с подобными проблемами? В каком направлении можно > копать? каждый worker nginx - однопоточный, он блокируется на дисковых операциях и не может обрабатывать в этот момент другие запросы что пришли по сети. 1) может помочь увеличение количества worker`ов nginx 2) если OS FreeBSD - там можно попробовать aio режим для статики. на Linux aio режим пока что имеет смысл использовать только для очень больших файлов, которые в любом случае не помещаются в файловый кеш. 3) ускорить отдачу динамики можно, если, например, использовать два разных экземпляра nginx - для отдачи статики и динамики. 11.11.11.11:80 www.example.com - динамика, проксирование запросов 22.22.22.22:80 example.com - статика тот nginx, который работает для динамики - не будет блокироваться на дисковых операциях, а при работе с сетью worker`ы nginx не блокирутся. 4) добавить в сервер еще памяти, чтобы увеличился дисковый кеш 5) использовать SSD вместо HDD для всей отдаваемой сервером статики 6) если используются сторонние модули - причина может быть в них. 7) более точно узнать причину задержек поможет http://nginx.org/ru/docs/debugging_log.html -- Best regards, Gena From nginx-forum at nginx.us Tue Aug 19 15:20:35 2014 From: nginx-forum at nginx.us (yury_y) Date: Tue, 19 Aug 2014 11:20:35 -0400 Subject: =?UTF-8?B?UmU6INCR0L7Qu9GM0YjQsNGPINC00LjRgdC/0LXRgNGB0LjRjyDQstGA0LXQvNC1?= =?UTF-8?B?0L3QuCDQstGL0L/QvtC70L3QtdC90LjRjyDQt9Cw0L/RgNC+0YHQvtCy?= In-Reply-To: <53F350AF.1070209@csdoc.com> References: <53F350AF.1070209@csdoc.com> Message-ID: <145385a518b958ea504b20c3cd7d2eb9.NginxMailingListRussian@forum.nginx.org> > каждый worker nginx - однопоточный, он блокируется на дисковых > операциях > и не может обрабатывать в этот момент другие запросы что пришли по > сети. > > 1) может помочь увеличение количества worker`ов nginx > > 2) если OS FreeBSD - там можно попробовать aio режим для статики. > на Linux aio режим пока что имеет смысл использовать только для очень > больших файлов, которые в любом случае не помещаются в файловый кеш. > > 3) ускорить отдачу динамики можно, если, например, использовать > два разных экземпляра nginx - для отдачи статики и динамики. > > 11.11.11.11:80 www.example.com - динамика, проксирование запросов > 22.22.22.22:80 example.com - статика > > тот nginx, который работает для динамики - > не будет блокироваться на дисковых операциях, > а при работе с сетью worker`ы nginx не блокирутся. > > 4) добавить в сервер еще памяти, чтобы увеличился дисковый кеш > > 5) использовать SSD вместо HDD для всей отдаваемой сервером статики > > 6) если используются сторонние модули - причина может быть в них. > > 7) более точно узнать причину задержек поможет > http://nginx.org/ru/docs/debugging_log.html Спасибо за идеи. 1, 2, 3, 7 - попробую 4, 5 - там уже SSD и 32GB памяти 6 - из сторонних модулей только nginx-sla С уважением, Юрий Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252669,252674#msg-252674 From nginx-forum at nginx.us Tue Aug 19 20:50:45 2014 From: nginx-forum at nginx.us (sgluhov) Date: Tue, 19 Aug 2014 16:50:45 -0400 Subject: =?UTF-8?B?0J/QvtC80L7Qs9C40YLQtSDRgdC+0LfQtNCw0YLRjCDRg9C80L3Ri9C5INGA0LU=?= =?UTF-8?B?0LTQuNGA0LXQutGC?= Message-ID: Добрый день - возможно вопрос сильно от новичка, но мне надо настроить сервер следуюшим образом. 1) Все входящие коннекты - Перенаправить запрос на определенный ip. Но если ip не отвечает - тогда включить специальный режим на 20-30 минут, когда запросы не перенаправляются а отвечаем напрямую своим локальным контентом. 2) Если запрос идет с определенного ip - тогда запрос не перенаправляем, а отвечаем лоакльным контентом. Понятно что вторая часть это можно решить как то через таблицы - но возможно есть какое то более простое и универсальное решение? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252676,252676#msg-252676 From sargaskn at gmail.com Wed Aug 20 00:13:35 2014 From: sargaskn at gmail.com (Sargas) Date: Wed, 20 Aug 2014 03:13:35 +0300 Subject: GEOIP2 In-Reply-To: <1407921865.852902566@f13.my.com> References: <1407921865.852902566@f13.my.com> Message-ID: up! :) 13 августа 2014 г., 12:24 пользователь написал: > По вашей же ссылке написано про 3rd party module для nginx > > Вторник, 12 августа 2014 г., 23:34 +0400 from Sargas : > > Приветствую. > > Появилась какая-то новая база geoip2 > http://dev.maxmind.com/geoip/geoip2/downloadable/ > Будет ли в ближайшем будущем работать стандартный модуль > ngx_http_geoip_module с ней? > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -------------- next part -------------- An HTML attachment was scrubbed... URL: From nginx-forum at nginx.us Wed Aug 20 03:29:56 2014 From: nginx-forum at nginx.us (muzhik) Date: Tue, 19 Aug 2014 23:29:56 -0400 Subject: =?UTF-8?B?0L3QsNGB0YLRgNC+0LnQutCwINC60L7QvdGE0LjQs9Cw?= Message-ID: <5f243d46cf04ab7eee85552eb9ef574e.NginxMailingListRussian@forum.nginx.org> добрый день, пользуюсь ispmanager 5, и не могу сообразить куда в его конфиг нужно добавить строки #user 'andrei' virtual host 'domentk.tk' configuration file server { server_name domentk.tk www.domentk.tk; charset off; disable_symlinks if_not_owner from=$root_path; index index.php; root $root_path; set $root_path /var/www/andrei/data/www/domentk.tk; ssi on; access_log /var/www/httpd-logs/domentk.tk.access.log ; error_log /var/www/httpd-logs/domentk.tk.error.log notice; listen 80; include /etc/nginx/vhosts-includes/*.conf; location / { location ~ [^/]\.ph(p\d*|tml)$ { try_files /does_not_exists @php; } } location @php { fastcgi_index index.php; fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f webmaster at domentk.tk"; fastcgi_pass unix:/var/www/php-fpm/andrei.sock; fastcgi_split_path_info ^((?U).+\.ph(?:p\d*|tml))(/?.+)$; try_files $uri =404; include fastcgi_params; } } чтобы начал функционировать cms pagekit location / { try_files $uri $uri/ /index.php?$args; } прии вставке в существующий локейшн - файл с исходным кодом просто падает на скачивание Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252685,252685#msg-252685 From nginx-forum at nginx.us Wed Aug 20 15:48:23 2014 From: nginx-forum at nginx.us (Lyudmila Kh) Date: Wed, 20 Aug 2014 11:48:23 -0400 Subject: =?UTF-8?B?0JLRi9C00LDQtdGC0YHRjyDRgdGC0LDRgNCw0Y8g0LLQtdGA0YHQuNGPINGB0YI=?= =?UTF-8?B?0LDRgtC40YfQtdGB0LrQuNGFINGE0LDQudC70L7Qsg==?= Message-ID: <31b0ab6f443d95a978f5b304ab354100.NginxMailingListRussian@forum.nginx.org> Добрый день, коллеги:) Может, пожалуйста, кто-нибудь подсказать, в чем может быть причина и куда смотерть? Ситуация такая: ngnix настроен только на отдачу статических файлов. Все остальное передается iis. Уже месяц работаем в таком режиме - все было нормально. До сегодняшнего дня. С сегодняшнего дня ngnix не видит новых статических файлов и отдает старые версии существующих :( В самом конфиг-файле нет никаких настроек по кешированию.. есть настройки только по сжатию.... Поэтому вопросы: - может ngnix самостоятельно поумолчанию создавать папки для кеширования? и если да, то где? и как это кеш очистить? - может ли сжатый файл не изменяться при появлении новой версии файла? Буду благодарна за помощь:) Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252697,252697#msg-252697 From konstantin at symbi.org Wed Aug 20 17:28:03 2014 From: konstantin at symbi.org (Konstantin Baryshnikov) Date: Wed, 20 Aug 2014 21:28:03 +0400 Subject: =?UTF-8?B?UmU6INCR0L7Qu9GM0YjQsNGPINC00LjRgdC/0LXRgNGB0LjRjyDQstGA0LXQvNC1?= =?UTF-8?B?0L3QuCDQstGL0L/QvtC70L3QtdC90LjRjyDQt9Cw0L/RgNC+0YHQvtCy?= In-Reply-To: <145385a518b958ea504b20c3cd7d2eb9.NginxMailingListRussian@forum.nginx.org> References: <53F350AF.1070209@csdoc.com> <145385a518b958ea504b20c3cd7d2eb9.NginxMailingListRussian@forum.nginx.org> Message-ID: <6934916D-46A3-450E-83BD-594DB4AC9D44@symbi.org> On Aug 19, 2014, at 7:20 PM, yury_y wrote: >> 6) если используются сторонние модули - причина может быть в них. >> > 6 - из сторонних модулей только nginx-sla Вот в его локах и причина наверняка. From semenukha at gmail.com Wed Aug 20 17:43:01 2014 From: semenukha at gmail.com (Styopa Semenukha) Date: Wed, 20 Aug 2014 10:43:01 -0700 (PDT) Subject: =?UTF-8?B?UmU6INCS0YvQtNCw0LXRgtGB0Y8g0YHRgtCw0YDQsNGPINCy0LXRgNGB0LjRjyA=?= =?UTF-8?B?0YHRgtCw0YLQuNGH0LXRgdC60LjRhSDRhNCw0LnQu9C+0LI=?= In-Reply-To: <31b0ab6f443d95a978f5b304ab354100.NginxMailingListRussian@forum.nginx.org> References: <31b0ab6f443d95a978f5b304ab354100.NginxMailingListRussian@forum.nginx.org> Message-ID: <3429451.NvG5LTj0zy@tornado> On Wednesday, August 20, 2014 11:48:23 AM Lyudmila Kh wrote: > Добрый день, коллеги:) > Может, пожалуйста, кто-нибудь подсказать, в чем может быть причина и куда > смотерть? Ситуация такая: ngnix настроен только на отдачу статических > файлов. Все остальное передается iis. Уже месяц работаем в таком режиме - > все было нормально. До сегодняшнего дня. С сегодняшнего дня ngnix не видит > новых статических файлов и отдает старые версии существующих :( > > В самом конфиг-файле нет никаких настроек по кешированию.. есть настройки > только по сжатию.... > Поэтому вопросы: > - может ngnix самостоятельно поумолчанию создавать папки для кеширования? и > если да, то где? и как это кеш очистить? > - может ли сжатый файл не изменяться при появлении новой версии файла? > > Буду благодарна за помощь:) > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,252697,252697#msg-252697 > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru Удостоверьтесь, что вы наблюдаете именно тот экземпляр Nginx, конфиг которого смотрите. Можно на минутку остановить его, чтобы убедиться, что сервер перестал отвечать. По умолчанию ничего само создаваться не должно. Рекомендую для проверки использовать cURL, а не браузер, т.е. статику вы видите из собственного кэша. Наконец, есть вероятность, что вы используете gzip-static и не обновили сжатые версии статики. Если ничего не помогло, пожалуйста, покажите ваш конфиг. -- Best regards, Styopa Semenukha. From nginx-forum at nginx.us Wed Aug 20 17:45:49 2014 From: nginx-forum at nginx.us (paulus) Date: Wed, 20 Aug 2014 13:45:49 -0400 Subject: =?UTF-8?B?NDA0INC10YHQu9C4INCyINGD0YDQu9C1INC10YHRgtGMICVDOSAo0Lkp?= Message-ID: <7411a7139cf7fe5d8301b7ae97adb87e.NginxMailingListRussian@forum.nginx.org> Здравствуйте. Обнаружилось непонятное поведение - nginx 1.2.1 если в урле есть енкоженная 'й' (%C9) (например www.myservername.ru/?arg=%C9 всегда возвращает 404. Кто-нибудь сталкивался? Спасибо. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252700,252700#msg-252700 From sytar.alex at gmail.com Wed Aug 20 18:44:11 2014 From: sytar.alex at gmail.com (Aleksandr Sytar) Date: Wed, 20 Aug 2014 22:44:11 +0400 Subject: =?UTF-8?B?UmU6INCS0YvQtNCw0LXRgtGB0Y8g0YHRgtCw0YDQsNGPINCy0LXRgNGB0LjRjyA=?= =?UTF-8?B?0YHRgtCw0YLQuNGH0LXRgdC60LjRhSDRhNCw0LnQu9C+0LI=?= In-Reply-To: <31b0ab6f443d95a978f5b304ab354100.NginxMailingListRussian@forum.nginx.org> References: <31b0ab6f443d95a978f5b304ab354100.NginxMailingListRussian@forum.nginx.org> Message-ID: 20 августа 2014 г., 19:48 пользователь Lyudmila Kh написал: > Добрый день, коллеги:) > Может, пожалуйста, кто-нибудь подсказать, в чем может быть причина и куда > смотерть? Ситуация такая: ngnix настроен только на отдачу статических > файлов. Все остальное передается iis. Уже месяц работаем в таком режиме - > все было нормально. До сегодняшнего дня. С сегодняшнего дня ngnix не видит > новых статических файлов и отдает старые версии существующих :( > > В самом конфиг-файле нет никаких настроек по кешированию.. есть настройки > только по сжатию.... > Поэтому вопросы: > - может ngnix самостоятельно поумолчанию создавать папки для кеширования? и > если да, то где? и как это кеш очистить? > - может ли сжатый файл не изменяться при появлении новой версии файла? > > Буду благодарна за помощь:) > Вполне себе может быть. Как создаются новые статические файлы? Как проверяете что вместо нового файла отдается старый? Менялись ли заголовки кеширования статики для браузеров (cache-control, expire)? From nginx-forum at nginx.us Wed Aug 20 19:41:57 2014 From: nginx-forum at nginx.us (Lyudmila Kh) Date: Wed, 20 Aug 2014 15:41:57 -0400 Subject: =?UTF-8?B?UmU6INCS0YvQtNCw0LXRgtGB0Y8g0YHRgtCw0YDQsNGPINCy0LXRgNGB0LjRjyA=?= =?UTF-8?B?0YHRgtCw0YLQuNGH0LXRgdC60LjRhSDRhNCw0LnQu9C+0LI=?= In-Reply-To: <3429451.NvG5LTj0zy@tornado> References: <3429451.NvG5LTj0zy@tornado> Message-ID: <1b5d14b69e1eae799019d82458260671.NginxMailingListRussian@forum.nginx.org> Да, наблюдаю именно тот экземпляр Nginx, конфиг которого смотрю: удаляла js файлы из правила обработки файлов Nginx, в результате те начинали выдаваться iis-ом правильно с изменениями. Что касается статики из кеша браузера - точно нет, так как на сервер выкладывались не только измененные js-файлы, но и новые. Ни на каком другом компе в любом браузере не видны не только изменения в js-файлах, но и новые файлы показываются, как not found 404. Вот конфиг. worker_processes 4; error_log "C:\xxx\xxx\xxx.log"; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; access_log xxx/xxx.log; sendfile on; keepalive_timeout 65; client_max_body_size 100m; gzip on; gzip_disable "msie6"; gzip_vary on; gzip_proxied any; gzip_comp_level 6; gzip_buffers 16 8k; gzip_types text/plain text/css application/json application/x-javascript application/javascript text/xml application/xml application/xml+rss text/javascript text/json; server { listen xx; server_name xxx.xx.xx.xx; location ~* ^.+.(jpg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|swf)$ { root "C:\xxx\xxx"; } location / { proxy_set_header x-real-IP $remote_addr; proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; proxy_set_header host $http_host; proxy_pass http://xxx.x.x.x/; proxy_read_timeout 75; proxy_connect_timeout 75; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } } Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252697,252703#msg-252703 From nginx-forum at nginx.us Wed Aug 20 19:50:46 2014 From: nginx-forum at nginx.us (Lyudmila Kh) Date: Wed, 20 Aug 2014 15:50:46 -0400 Subject: =?UTF-8?B?UmU6INCS0YvQtNCw0LXRgtGB0Y8g0YHRgtCw0YDQsNGPINCy0LXRgNGB0LjRjyA=?= =?UTF-8?B?0YHRgtCw0YLQuNGH0LXRgdC60LjRhSDRhNCw0LnQu9C+0LI=?= In-Reply-To: References: Message-ID: На данный момент речь идет о js-файликах, которые либо забросили на сервер по ftp, либо просто прямо на сервере создали ручками в проводнике.. То, что файл старый, видно наглядно:) Т.е. открывая файл в проводнике, вижу одно, а получая его из браузера - другое (старый вариант). При этом речь о кеше браузера вряд ли может идти, так как новые файлы, добавленные на сервер, так же не видны из браузера. Но если отключить обработку js-файлов ngnix-ом, то iis отдает файлы правильно. Заголовки не менялись. Такое поведение появилось только сегодня. Месяц или даже больше все работало нормально. Перезагрузка ngnix не помогает:(( Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252697,252704#msg-252704 From ksyblast at gmail.com Wed Aug 20 20:48:44 2014 From: ksyblast at gmail.com (=?UTF-8?B?0JrRgdC10L3QuNGPINCu0YDRjNC10LLQvdCwINCR0LvQsNGJ0YPQug==?=) Date: Wed, 20 Aug 2014 23:48:44 +0300 Subject: =?UTF-8?B?UmU6INCS0YvQtNCw0LXRgtGB0Y8g0YHRgtCw0YDQsNGPINCy0LXRgNGB0LjRjyA=?= =?UTF-8?B?0YHRgtCw0YLQuNGH0LXRgdC60LjRhSDRhNCw0LnQu9C+0LI=?= In-Reply-To: References: Message-ID: Добрый день. Сходу подумалось, что где-то напутано с путями. 1) location ~* ^.+.(jpg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe| pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|swf)$ { root "C:\xxx\xxx"; } Здесь в упор не вижу js. Вы уверены, что файл отдается nginx? 2) root "C:\xxx\xxx"; Новые файлы точно находятся здесь? -------------- next part -------------- An HTML attachment was scrubbed... URL: From semenukha at gmail.com Wed Aug 20 21:26:46 2014 From: semenukha at gmail.com (Styopa Semenukha) Date: Wed, 20 Aug 2014 17:26:46 -0400 Subject: =?UTF-8?B?UmU6IFJlOiDQktGL0LTQsNC10YLRgdGPINGB0YLQsNGA0LDRjyDQstC10YDRgdC4?= =?UTF-8?B?0Y8g0YHRgtCw0YLQuNGH0LXRgdC60LjRhSDRhNCw0LnQu9C+0LI=?= In-Reply-To: <1b5d14b69e1eae799019d82458260671.NginxMailingListRussian@forum.nginx.org> References: <3429451.NvG5LTj0zy@tornado> <1b5d14b69e1eae799019d82458260671.NginxMailingListRussian@forum.nginx.org> Message-ID: <1880400.sNe7XaLEy8@tornado> On Wednesday, August 20, 2014 03:41:57 PM Lyudmila Kh wrote: > Ни на каком другом > компе в любом браузере не видны не только изменения в js-файлах, но и новые > файлы показываются, как not found 404. > > Вот конфиг. > > error_log "C:\xxx\xxx\xxx.log"; Если все так, то в error_log должны быть упоминания о ненайденных файлах. В выводе cURL или в браузере должен быть заголовок Server: nginx/x.x.x Возможно, это прольет свет на загадку. -- Best regards, Styopa Semenukha. From nginx-forum at nginx.us Thu Aug 21 05:53:39 2014 From: nginx-forum at nginx.us (Lyudmila Kh) Date: Thu, 21 Aug 2014 01:53:39 -0400 Subject: =?UTF-8?B?UmU6IFJlOiDQktGL0LTQsNC10YLRgdGPINGB0YLQsNGA0LDRjyDQstC10YDRgdC4?= =?UTF-8?B?0Y8g0YHRgtCw0YLQuNGH0LXRgdC60LjRhSDRhNCw0LnQu9C+0LI=?= In-Reply-To: <1880400.sNe7XaLEy8@tornado> References: <1880400.sNe7XaLEy8@tornado> Message-ID: да уж... посмотрела error.log (спасибо за подсказку, что-то я это упустила из виду) .. по поводу файлов, которые были изменены, но показывали старую версию, то, как и ожидалось, записей в нем никаких нет (ведь ngnix все же отдавал файл... в старой версии, но отдавал...).. а по поводу новых файлов, которые были закинуты на сервер, то ngnix из совершенно не видел... 2014/08/20 15:08:10 [error] 5684#4336: *40265583 CreateFile() "C:\xxx\xxx.js" failed (2: The system cannot find the file specified), client: xxx.xxx.xxx.xxx, server: 127.0.0.1, request: "GET /xxx/xxx.js?ii=2 HTTP/1.1", host: "xxx.xxx.xx" хм... Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252697,252711#msg-252711 From nginx-forum at nginx.us Thu Aug 21 05:56:04 2014 From: nginx-forum at nginx.us (Lyudmila Kh) Date: Thu, 21 Aug 2014 01:56:04 -0400 Subject: =?UTF-8?B?UmU6INCS0YvQtNCw0LXRgtGB0Y8g0YHRgtCw0YDQsNGPINCy0LXRgNGB0LjRjyA=?= =?UTF-8?B?0YHRgtCw0YLQuNGH0LXRgdC60LjRhSDRhNCw0LnQu9C+0LI=?= In-Reply-To: References: Message-ID: <48aa4f9c216cb86e92476a71170a3f38.NginxMailingListRussian@forum.nginx.org> а, ой, сорри - это я скопировала случайно строчку в тот момент, когда тестировала и удалила js из-под локейшен... конечно же js там есть... насчет путей, да, все пути верные.. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252697,252712#msg-252712 From sytar.alex at gmail.com Thu Aug 21 06:21:17 2014 From: sytar.alex at gmail.com (Aleksandr Sytar) Date: Thu, 21 Aug 2014 10:21:17 +0400 Subject: =?UTF-8?B?UmU6INCS0YvQtNCw0LXRgtGB0Y8g0YHRgtCw0YDQsNGPINCy0LXRgNGB0LjRjyA=?= =?UTF-8?B?0YHRgtCw0YLQuNGH0LXRgdC60LjRhSDRhNCw0LnQu9C+0LI=?= In-Reply-To: References: Message-ID: 20 августа 2014 г., 23:50 пользователь Lyudmila Kh написал: > На данный момент речь идет о js-файликах, которые либо забросили на сервер > по ftp, либо просто прямо на сервере создали ручками в проводнике.. То, что > файл старый, видно наглядно:) Т.е. открывая файл в проводнике, вижу одно, а > получая его из браузера - другое (старый вариант). При этом речь о кеше > браузера вряд ли может идти, так как новые файлы, добавленные на сервер, так > же не видны из браузера. Но если отключить обработку js-файлов ngnix-ом, то > iis отдает файлы правильно. Заголовки не менялись. Убедитесь что ваш ftp-менедежр создает файлы атомарно. Можете убедится что следующая конструкция работает верно (отдается новый контент) 1) echo "Test file" > test.js 2) curl http://___/test.js 3) echo "New Test file" > test.js.new 4) mv test.js.new test.js 5) curl http://____/test.js > > Такое поведение появилось только сегодня. Месяц или даже больше все работало > нормально. Перезагрузка ngnix не помогает:(( А вы уверены что вы его перезагружаете? Судя по конфигу у вас неправильное число воркеров (посмотрите документацию, под windows оно должно быть равно 1). Плюс nginx под виндой имеет свойство терять child-процесс. Возьмите что-нибудь вроде Process Explorer и убедитесь что все процессы nginx потушены прежде чем его запускать заново. From nginx-forum at nginx.us Thu Aug 21 07:03:39 2014 From: nginx-forum at nginx.us (Lyudmila Kh) Date: Thu, 21 Aug 2014 03:03:39 -0400 Subject: =?UTF-8?B?UmU6INCS0YvQtNCw0LXRgtGB0Y8g0YHRgtCw0YDQsNGPINCy0LXRgNGB0LjRjyA=?= =?UTF-8?B?0YHRgtCw0YLQuNGH0LXRgdC60LjRhSDRhNCw0LnQu9C+0LI=?= In-Reply-To: <31b0ab6f443d95a978f5b304ab354100.NginxMailingListRussian@forum.nginx.org> References: <31b0ab6f443d95a978f5b304ab354100.NginxMailingListRussian@forum.nginx.org> Message-ID: Коллеги, спасибо всем за помощь!...Ситуация прояснилась.. и действительность, как всегда, оказалась много проще:(.. У нас 2 сайта (один из них - разработческий, копия первого) на одном сервере размещены. Соответственно, как написала Ксения Юрьевна Блащук мне в одном из постов ниже, следовало сразу проверить, куда настроен root для локейшена в каждом случае:( А он у нас жестко прописан. Вне зависимости, к какому сайту идет запрос.. Т.е. для обоих сайтов статика выдавалась только с основного. Еще раз спасибо всем, кто помогал разобраться:) Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252697,252714#msg-252714 From nginx-forum at nginx.us Thu Aug 21 07:08:17 2014 From: nginx-forum at nginx.us (Lyudmila Kh) Date: Thu, 21 Aug 2014 03:08:17 -0400 Subject: =?UTF-8?B?UmU6INCS0YvQtNCw0LXRgtGB0Y8g0YHRgtCw0YDQsNGPINCy0LXRgNGB0LjRjyA=?= =?UTF-8?B?0YHRgtCw0YLQuNGH0LXRgdC60LjRhSDRhNCw0LnQu9C+0LI=?= In-Reply-To: References: <31b0ab6f443d95a978f5b304ab354100.NginxMailingListRussian@forum.nginx.org> Message-ID: <1e93ba0acf1d9fdc1d7842d58637d911.NginxMailingListRussian@forum.nginx.org> А как правильно тогда root через параметры и if прописать? в зависимости от того, с какого сайта идет запрос?.. я где-то читала, что в локешене не совсем правильно if вставлять.. или, вернее, надо понимать особенности вставки if в локейшен.. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252697,252715#msg-252715 From onokonem at gmail.com Thu Aug 21 07:21:25 2014 From: onokonem at gmail.com (Daniel Podolsky) Date: Thu, 21 Aug 2014 11:21:25 +0400 Subject: =?UTF-8?B?UmU6INCS0YvQtNCw0LXRgtGB0Y8g0YHRgtCw0YDQsNGPINCy0LXRgNGB0LjRjyA=?= =?UTF-8?B?0YHRgtCw0YLQuNGH0LXRgdC60LjRhSDRhNCw0LnQu9C+0LI=?= In-Reply-To: <1e93ba0acf1d9fdc1d7842d58637d911.NginxMailingListRussian@forum.nginx.org> References: <31b0ab6f443d95a978f5b304ab354100.NginxMailingListRussian@forum.nginx.org> <1e93ba0acf1d9fdc1d7842d58637d911.NginxMailingListRussian@forum.nginx.org> Message-ID: > А как правильно тогда root через параметры и if прописать? А как у вас эти два сайта различаются? From nginx-forum at nginx.us Thu Aug 21 07:33:19 2014 From: nginx-forum at nginx.us (Lyudmila Kh) Date: Thu, 21 Aug 2014 03:33:19 -0400 Subject: =?UTF-8?B?UmU6INCS0YvQtNCw0LXRgtGB0Y8g0YHRgtCw0YDQsNGPINCy0LXRgNGB0LjRjyA=?= =?UTF-8?B?0YHRgtCw0YLQuNGH0LXRgdC60LjRhSDRhNCw0LnQu9C+0LI=?= In-Reply-To: References: Message-ID: <0df25a3b9e5fb5e299518a12e6bcf362.NginxMailingListRussian@forum.nginx.org> Первый - siteName.ru, второй - alpha.siteName.ru .. а вот так вот вообще можно? server_name ~^(www\.)?(?.+)$; <---- это правильно? location / { if($domain ="alpha") { root "C:\aaaa"; } else{ root "C:\bbb"; } } Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252697,252717#msg-252717 From nefer05 at gmail.com Thu Aug 21 07:39:29 2014 From: nefer05 at gmail.com (=?UTF-8?B?0KDQvtC80LDQvSDQnNC+0YHQutCy0LjRgtC40L0=?=) Date: Thu, 21 Aug 2014 11:39:29 +0400 Subject: =?UTF-8?B?UmU6INCS0YvQtNCw0LXRgtGB0Y8g0YHRgtCw0YDQsNGPINCy0LXRgNGB0LjRjyA=?= =?UTF-8?B?0YHRgtCw0YLQuNGH0LXRgdC60LjRhSDRhNCw0LnQu9C+0LI=?= In-Reply-To: <0df25a3b9e5fb5e299518a12e6bcf362.NginxMailingListRussian@forum.nginx.org> References: <0df25a3b9e5fb5e299518a12e6bcf362.NginxMailingListRussian@forum.nginx.org> Message-ID: А нафига такие пляски? Что мешает сделать две секции? 2014-08-21 11:33 GMT+04:00 Lyudmila Kh : > Первый - siteName.ru, второй - alpha.siteName.ru .. > > а вот так вот вообще можно? > server_name ~^(www\.)?(?.+)$; <---- это правильно? > > location / { > if($domain ="alpha") { > root "C:\aaaa"; > } > else{ > root "C:\bbb"; > } > } > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,252697,252717#msg-252717 > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -------------- next part -------------- An HTML attachment was scrubbed... URL: From vbart at nginx.com Thu Aug 21 07:43:43 2014 From: vbart at nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Thu, 21 Aug 2014 11:43:43 +0400 Subject: =?UTF-8?B?UmU6INCS0YvQtNCw0LXRgtGB0Y8g0YHRgtCw0YDQsNGPINCy0LXRgNGB0LjRjyA=?= =?UTF-8?B?0YHRgtCw0YLQuNGH0LXRgdC60LjRhSDRhNCw0LnQu9C+0LI=?= In-Reply-To: <1e93ba0acf1d9fdc1d7842d58637d911.NginxMailingListRussian@forum.nginx.org> References: <31b0ab6f443d95a978f5b304ab354100.NginxMailingListRussian@forum.nginx.org> <1e93ba0acf1d9fdc1d7842d58637d911.NginxMailingListRussian@forum.nginx.org> Message-ID: <3031886.IbNfeQesky@vbart-laptop> On Thursday 21 August 2014 03:08:17 Lyudmila Kh wrote: > А как правильно тогда root через параметры и if прописать? в зависимости от > того, с какого сайта идет запрос?.. я где-то читала, что в локешене не > совсем правильно if вставлять.. или, вернее, надо понимать особенности > вставки if в локейшен.. > Два сайта - значит должно быть два блока server { } и никаких if-ов. -- Валентин Бартенев From onokonem at gmail.com Thu Aug 21 07:50:00 2014 From: onokonem at gmail.com (Daniel Podolsky) Date: Thu, 21 Aug 2014 11:50:00 +0400 Subject: =?UTF-8?B?UmU6INCS0YvQtNCw0LXRgtGB0Y8g0YHRgtCw0YDQsNGPINCy0LXRgNGB0LjRjyA=?= =?UTF-8?B?0YHRgtCw0YLQuNGH0LXRgdC60LjRhSDRhNCw0LnQu9C+0LI=?= In-Reply-To: <0df25a3b9e5fb5e299518a12e6bcf362.NginxMailingListRussian@forum.nginx.org> References: <0df25a3b9e5fb5e299518a12e6bcf362.NginxMailingListRussian@forum.nginx.org> Message-ID: Можно и так сделать, только зачем? две секции server, у каждой свое имя и свой рут. общую часть выносите в отдельный файл и подключаете с помощью include. а то вы на ровном месте написали программу для nginx vm, и запускаете ее на каждый запрос... 2014-08-21 11:33 GMT+04:00 Lyudmila Kh : > Первый - siteName.ru, второй - alpha.siteName.ru .. > > а вот так вот вообще можно? > server_name ~^(www\.)?(?.+)$; <---- это правильно? > > location / { > if($domain ="alpha") { > root "C:\aaaa"; > } > else{ > root "C:\bbb"; > } > } > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252697,252717#msg-252717 > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From nginx-forum at nginx.us Thu Aug 21 07:59:19 2014 From: nginx-forum at nginx.us (Lyudmila Kh) Date: Thu, 21 Aug 2014 03:59:19 -0400 Subject: =?UTF-8?B?UmU6INCS0YvQtNCw0LXRgtGB0Y8g0YHRgtCw0YDQsNGPINCy0LXRgNGB0LjRjyA=?= =?UTF-8?B?0YHRgtCw0YLQuNGH0LXRgdC60LjRhSDRhNCw0LnQu9C+0LI=?= In-Reply-To: <3031886.IbNfeQesky@vbart-laptop> References: <3031886.IbNfeQesky@vbart-laptop> Message-ID: ?.. наверное, не очень понимаю, как сделать эти блоки отличающимися.. сейчас у меня в конфиге есть секция server { listen 80; server_name 127.0.0.1; и если сделать, как вы сказали, 2 копии этой секции с всего лишь отличающейся одной строчкой root в одном из локейшен , то как распознает ngnix, в какой server { зайти? что еще надо дописать в секцию server, чтобы ngnix распознавал, при вызове из какого сайта в какую секцию идти? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252697,252722#msg-252722 From vbart at nginx.com Thu Aug 21 08:03:58 2014 From: vbart at nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Thu, 21 Aug 2014 12:03:58 +0400 Subject: =?UTF-8?B?UmU6INCS0YvQtNCw0LXRgtGB0Y8g0YHRgtCw0YDQsNGPINCy0LXRgNGB0LjRjyA=?= =?UTF-8?B?0YHRgtCw0YLQuNGH0LXRgdC60LjRhSDRhNCw0LnQu9C+0LI=?= In-Reply-To: References: <3031886.IbNfeQesky@vbart-laptop> Message-ID: <1754624.LBGrrssHVf@vbart-laptop> On Thursday 21 August 2014 03:59:19 Lyudmila Kh wrote: > ?.. наверное, не очень понимаю, как сделать эти блоки отличающимися.. сейчас > у меня в конфиге есть секция > server { > listen 80; > server_name 127.0.0.1; > > и если сделать, как вы сказали, 2 копии этой секции с всего лишь > отличающейся одной строчкой root в одном из локейшен , то как распознает > ngnix, в какой server { зайти? > > что еще надо дописать в секцию server, чтобы ngnix распознавал, при вызове > из какого сайта в какую секцию идти? > В одной секции: server_name siteName.ru; в другой соответственно: server_name alpha.siteName.ru; Читайте: http://nginx.org/ru/docs/http/server_names.html Поскольку вы используете nginx/windows, то также рекомендуется к ознакомлению: http://nginx.org/ru/docs/windows.html -- Валентин Бартенев From nginx-forum at nginx.us Thu Aug 21 08:04:19 2014 From: nginx-forum at nginx.us (Lyudmila Kh) Date: Thu, 21 Aug 2014 04:04:19 -0400 Subject: =?UTF-8?B?UmU6INCS0YvQtNCw0LXRgtGB0Y8g0YHRgtCw0YDQsNGPINCy0LXRgNGB0LjRjyA=?= =?UTF-8?B?0YHRgtCw0YLQuNGH0LXRgdC60LjRhSDRhNCw0LnQu9C+0LI=?= In-Reply-To: References: Message-ID: <95b1d34acf059dc717cfaf389eb0ac09.NginxMailingListRussian@forum.nginx.org> >> две секции server, у каждой свое имя и свой рут. server { listen 80; server_name siteName.ru; ..... server { listen 80; server_name alpha.siteName.ru; .... так правильно? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252697,252723#msg-252723 From nginx-forum at nginx.us Thu Aug 21 08:04:54 2014 From: nginx-forum at nginx.us (Lyudmila Kh) Date: Thu, 21 Aug 2014 04:04:54 -0400 Subject: =?UTF-8?B?UmU6INCS0YvQtNCw0LXRgtGB0Y8g0YHRgtCw0YDQsNGPINCy0LXRgNGB0LjRjyA=?= =?UTF-8?B?0YHRgtCw0YLQuNGH0LXRgdC60LjRhSDRhNCw0LnQu9C+0LI=?= In-Reply-To: References: <3031886.IbNfeQesky@vbart-laptop> Message-ID: <61771c6aa8a401374b94620c9ba82508.NginxMailingListRussian@forum.nginx.org> server { listen 80; server_name siteName.ru; ..... server { listen 80; server_name alpha.siteName.ru; .... так ? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252697,252724#msg-252724 From vbart at nginx.com Thu Aug 21 08:05:42 2014 From: vbart at nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Thu, 21 Aug 2014 12:05:42 +0400 Subject: =?UTF-8?B?UmU6INCS0YvQtNCw0LXRgtGB0Y8g0YHRgtCw0YDQsNGPINCy0LXRgNGB0LjRjyA=?= =?UTF-8?B?0YHRgtCw0YLQuNGH0LXRgdC60LjRhSDRhNCw0LnQu9C+0LI=?= In-Reply-To: <61771c6aa8a401374b94620c9ba82508.NginxMailingListRussian@forum.nginx.org> References: <3031886.IbNfeQesky@vbart-laptop> <61771c6aa8a401374b94620c9ba82508.NginxMailingListRussian@forum.nginx.org> Message-ID: <16771770.kVxNodJFnA@vbart-laptop> On Thursday 21 August 2014 04:04:54 Lyudmila Kh wrote: > server { > listen 80; > server_name siteName.ru; > ..... > > server { > listen 80; > server_name alpha.siteName.ru; > .... > > так ? > Верно. -- Валентин Бартенев From nginx-forum at nginx.us Thu Aug 21 08:07:39 2014 From: nginx-forum at nginx.us (Lyudmila Kh) Date: Thu, 21 Aug 2014 04:07:39 -0400 Subject: =?UTF-8?B?UmU6INCS0YvQtNCw0LXRgtGB0Y8g0YHRgtCw0YDQsNGPINCy0LXRgNGB0LjRjyA=?= =?UTF-8?B?0YHRgtCw0YLQuNGH0LXRgdC60LjRhSDRhNCw0LnQu9C+0LI=?= In-Reply-To: <16771770.kVxNodJFnA@vbart-laptop> References: <16771770.kVxNodJFnA@vbart-laptop> Message-ID: <9c5ffe638c90e1679d5accf35a0e3991.NginxMailingListRussian@forum.nginx.org> Спасибо !:) Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252697,252727#msg-252727 From nginx-forum at nginx.us Thu Aug 21 09:42:24 2014 From: nginx-forum at nginx.us (boffin) Date: Thu, 21 Aug 2014 05:42:24 -0400 Subject: =?UTF-8?B?QmFjdWxhIEdVSSAo0J3QsNGB0YLRgNC+0LnQutCwKQ==?= Message-ID: <625a874ea21d237ce54cf4cf091c06bd.NginxMailingListRussian@forum.nginx.org> Добрый день, помогите пожалуйста настроить веб интерфейс. Сам не могу справиться :( В корне лежит htaccess: Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [L] В конфиге nginx прописал location / { if (!-e $request_filename){ rewrite ^(.*)$ /index.php/$1 break; } Получаю ошибку: 2014/08/21 12:34:52 [error] 16316#0: *1 "/usr/local/www/baculum/index.php//wizard/index.php" is not found (20: Not a directory), client: 62.64.10.185, server: baculum.host.com, request: "GET /wizard/ HTTP/1.1", host: "baculum.host.com" Убираю слеш в конфиге location / { if (!-e $request_filename){ rewrite ^(.*)$ /index.php$1 break; } Получаю туже ошибку без лишнего слеша 2014/08/21 12:37:18 [error] 16350#0: *10 "/usr/local/www/baculum/index.php/wizard/index.php" is not found (20: Not a directory), client: 62.64.10.185, server: baculum.host.com, request: "GET /wizard/ HTTP/1.1", host: "baculum.host.com" Физически каталога /wizard нет. Используется Framework Prado, как я понимаю. Видимо что-то с реврайтом, но уже все облазил и так не добился работоспособности. Подскажите пожалуйста как решить проблему. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252728,252728#msg-252728 From nginx-forum at nginx.us Thu Aug 21 14:29:05 2014 From: nginx-forum at nginx.us (yury_y) Date: Thu, 21 Aug 2014 10:29:05 -0400 Subject: =?UTF-8?B?UmU6INCR0L7Qu9GM0YjQsNGPINC00LjRgdC/0LXRgNGB0LjRjyDQstGA0LXQvNC1?= =?UTF-8?B?0L3QuCDQstGL0L/QvtC70L3QtdC90LjRjyDQt9Cw0L/RgNC+0YHQvtCy?= In-Reply-To: <6934916D-46A3-450E-83BD-594DB4AC9D44@symbi.org> References: <6934916D-46A3-450E-83BD-594DB4AC9D44@symbi.org> Message-ID: > >> 6) если используются сторонние модули - причина может быть в них. > >> > > 6 - из сторонних модулей только nginx-sla > > Вот в его локах и причина наверняка. Похоже дело не в nginx-sla. Отключил в конфиге - картина та же. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252669,252734#msg-252734 From semenukha at gmail.com Thu Aug 21 14:38:34 2014 From: semenukha at gmail.com (Styopa Semenukha) Date: Thu, 21 Aug 2014 10:38:34 -0400 Subject: =?UTF-8?B?UmU6INCS0YvQtNCw0LXRgtGB0Y8g0YHRgtCw0YDQsNGPINCy0LXRgNGB0LjRjyA=?= =?UTF-8?B?0YHRgtCw0YLQuNGH0LXRgdC60LjRhSDRhNCw0LnQu9C+0LI=?= In-Reply-To: <95b1d34acf059dc717cfaf389eb0ac09.NginxMailingListRussian@forum.nginx.org> References: <95b1d34acf059dc717cfaf389eb0ac09.NginxMailingListRussian@forum.nginx.org> Message-ID: <4561045.AMyUX1YFMG@hydra> On Thursday, August 21, 2014 04:04:19 AM Lyudmila Kh wrote: > >> две секции server, у каждой свое имя и свой рут. > > server { > listen 80; > server_name siteName.ru; > ..... > > server { > listen 80; > server_name alpha.siteName.ru; > .... > > так правильно? Так правильно, эстетично и работает быстрее. -- Sincerely yours, Styopa Semenukha. From nginx-forum at nginx.us Thu Aug 21 15:11:24 2014 From: nginx-forum at nginx.us (shambler81) Date: Thu, 21 Aug 2014 11:11:24 -0400 Subject: =?UTF-8?B?bmdpbngg0LHQsNC70LDQvdGB0LXRgCBwcm94eSBwYXNzINGA0LDQt9C00LXQu9C4?= =?UTF-8?B?0YLRjCDQutC+0L3RhNC40LPQuCDQv9GA0Lgg0LHQsNC70LDQvdGB0LU=?= Message-ID: <9b5ce8883e11e05489ed00589bf86aa1.NginxMailingListRussian@forum.nginx.org> Добрый день уважаемые коллеги, встал вопрос подключить балансный сервер фактически старый сервер на который заходят НС сервера будет в роли резервного. Новый сервер на котором все так же настроено будет выступать просто как приоритентый в балансе бэкэнд, если сервер отвалится то сайт отдается со старого серве. Баланс работает как на статику так и на proxy_pass Nginx расположен на старом. считаем что он не падает. правильно ли я понимаю ? 1. Добавляем http { upstream myapp1 { least_conn; server srv1.example.com; server srv2.example.com; } Далее я просто подставляю в proxy_pass myapp1 Так ? А что делать если мне нужно изменить и правила для статики, внести изменения в @failback в общем по хорошему подставить другой файл конфига ? Более полный конфиг __________________ http { upstream myapp1 { server 10.1.119.36:8080; server mysite.ru:8080 } server { listen 10.1.119.36:80; server_name kredo-m.nichost.ru www.mysite-m.ru xn----gtbctnkl.xn--p1ai mysite-m.ru www.xn----gtbctnkl.xn--p1ai www.mysite-m.mysite.ru mos.mysite-m.ru; location / { proxy_pass myapp1 proxy_redirect http://mysite-m.mysite.ru:8080/ /; proxy_redirect http://www.mysite-m.ru:8080/ /; proxy_redirect http://xn----gtbctnkl.xn--p1ai:8080/ /; proxy_redirect http://mysite-m.ru:8080/ /; proxy_redirect http://www.xn----gtbctnkl.xn--p1ai:8080/ /; proxy_redirect http://www.mysite-m.mysite.ru:8080/ /; proxy_redirect http://mos.mysite-m.ru:8080/ /; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 192m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 900; proxy_read_timeout 900; proxy_buffer_size 64k; proxy_buffers 8 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } # 1 # Static files location location ~* ^.+\.(jpg|jpeg|gif|swf|png|ico|mp3|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|dat|avi|ppt|txt|tar|mid|midi|wav|bmp|rtf|wmv|mpeg|mpg|mp4|m4a|spx|ogx|ogv|oga|webm|weba|ogg|tbz|js)$ { root /home/kredo-m/mysite-m.mysite.ru/docs; access_log /var/log/mysite-m.mysite.ru.access_log combined; error_page 404 = @fallback; log_not_found off; # on accel_htaccess_switch on; } location @fallback { proxy_pass myapp1; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 192m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 900; proxy_read_timeout 900; proxy_buffer_size 64k; proxy_buffers 8 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } } Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252737,252737#msg-252737 From denis at webmaster.spb.ru Thu Aug 21 15:30:21 2014 From: denis at webmaster.spb.ru (denis) Date: Thu, 21 Aug 2014 19:30:21 +0400 Subject: =?UTF-8?B?UmU6IG5naW54INCx0LDQu9Cw0L3RgdC10YAgcHJveHkgcGFzcyDRgNCw0LfQtNC1?= =?UTF-8?B?0LvQuNGC0Ywg0LrQvtC90YTQuNCz0Lgg0L/RgNC4INCx0LDQu9Cw0L3RgdC1?= In-Reply-To: <9b5ce8883e11e05489ed00589bf86aa1.NginxMailingListRussian@forum.nginx.org> References: <9b5ce8883e11e05489ed00589bf86aa1.NginxMailingListRussian@forum.nginx.org> Message-ID: <53F6108D.1@webmaster.spb.ru> 21.08.2014 19:11, shambler81 пишет: > Добрый день уважаемые коллеги, встал вопрос подключить балансный сервер > фактически старый сервер на который заходят НС сервера будет в роли > резервного. Новый сервер на котором все так же настроено будет выступать > просто как приоритентый в балансе бэкэнд, если сервер отвалится то сайт > отдается со старого серве. Баланс работает как на статику так и на > proxy_pass статика прописывается отдельно, и так не указать. Или вообще всё проксипассить на нгинхи самих серверов, они уже будут раздавать статику с себя. для бэкап сервера или ключевое слово backup, или на оба выставить weight правильно. > Nginx расположен на старом. считаем что он не падает. Если сервер раздает статику, при активных IO он тоже может "замерзать", мы лечим чисто прокси на входе, без дисковых операций + нгинхи на рабочих нодах уже для кэшей, статики и прочего. Дисковые операции его тоже блокируют, ничего не помогло. > А что делать если мне нужно изменить и правила для статики, внести > изменения в @failback в общем по хорошему подставить другой файл конфига ? вынести части конфигов через include, пихнуть все конфиги в svn с хуком на коммит: проверка валидности конфигов (обязательно!) + nginx reload, или всякие csync опять же с хуком на измененения и перезапуском. > proxy_pass myapp1 > proxy_redirect http://mysite-m.mysite.ru:8080/ /; > proxy_redirect http://www.mysite-m.ru:8080/ /; > proxy_redirect http://xn----gtbctnkl.xn--p1ai:8080/ /; > proxy_redirect http://mysite-m.ru:8080/ /; > proxy_redirect http://www.xn----gtbctnkl.xn--p1ai:8080/ /; > proxy_redirect http://www.mysite-m.mysite.ru:8080/ /; > proxy_redirect http://mos.mysite-m.ru:8080/ /; > имхо, тут ерунда написана. From nginx-forum at nginx.us Thu Aug 21 18:13:18 2014 From: nginx-forum at nginx.us (igor.goncharenko) Date: Thu, 21 Aug 2014 14:13:18 -0400 Subject: health_check Message-ID: Hi! Не планируется ли включить health_check в комьюнити версию? --- Igor Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252740,252740#msg-252740 From denis at webmaster.spb.ru Thu Aug 21 20:51:41 2014 From: denis at webmaster.spb.ru (denis) Date: Fri, 22 Aug 2014 00:51:41 +0400 Subject: health_check In-Reply-To: References: Message-ID: <53F65BDD.9090303@webmaster.spb.ru> 21.08.2014 22:13, igor.goncharenko пишет: > Hi! > > Не планируется ли включить health_check в комьюнити версию? > А деньги за что брать? :) Не смотрели форк от таобао? там вроде было что-то такое... From maxim at nginx.com Fri Aug 22 06:21:28 2014 From: maxim at nginx.com (Maxim Konovalov) Date: Fri, 22 Aug 2014 10:21:28 +0400 Subject: health_check In-Reply-To: References: Message-ID: <53F6E168.10100@nginx.com> Добрый день. On 8/21/14 10:13 PM, igor.goncharenko wrote: > Hi! > > Не планируется ли включить health_check в комьюнити версию? > На данный момент таких планов нет. -- Maxim Konovalov http://nginx.com From chipitsine at gmail.com Fri Aug 22 08:04:11 2014 From: chipitsine at gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Fri, 22 Aug 2014 14:04:11 +0600 Subject: health_check In-Reply-To: References: Message-ID: 1) health_check создает доп. нагрузку 2) health_check показывает успешность определенного метода в определенный момент времени идея экстраполировать "ну раз он на HEAD /" ответил, значит он живой и нормально ответит - порочна. по ощущениям health_check решает маркетинговую задачу "чтобы было в списке фич". реальной пользы от него нет. можете меня переубедить ? 22 августа 2014 г., 0:13 пользователь igor.goncharenko написал: > Hi! > > Не планируется ли включить health_check в комьюнити версию? > > --- > Igor > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252740,252740#msg-252740 > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From chipitsine at gmail.com Fri Aug 22 08:07:28 2014 From: chipitsine at gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Fri, 22 Aug 2014 14:07:28 +0600 Subject: =?UTF-8?B?UmU6IEJhY3VsYSBHVUkgKNCd0LDRgdGC0YDQvtC50LrQsCk=?= In-Reply-To: <625a874ea21d237ce54cf4cf091c06bd.NginxMailingListRussian@forum.nginx.org> References: <625a874ea21d237ce54cf4cf091c06bd.NginxMailingListRussian@forum.nginx.org> Message-ID: насколько помню, там был Zend Framework ? для ZF пример конфига location / { try_files $uri $uri/ @zend; index index.php index.html index.htm; } location ~ \.php$ { try_files $uri @zend; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; } location @zend { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root/index.php; include fastcgi_params; } location ~ /\. { deny all; } } 21 августа 2014 г., 15:42 пользователь boffin написал: > Добрый день, > помогите пожалуйста настроить веб интерфейс. > Сам не могу справиться :( > В корне лежит htaccess: > Options +FollowSymLinks > RewriteEngine On > RewriteCond %{REQUEST_FILENAME} !-d > RewriteCond %{REQUEST_FILENAME} !-f > RewriteRule ^(.*)$ index.php/$1 [L] > > В конфиге nginx прописал > location / { if (!-e $request_filename){ rewrite ^(.*)$ /index.php/$1 break; > } > > Получаю ошибку: > 2014/08/21 12:34:52 [error] 16316#0: *1 > "/usr/local/www/baculum/index.php//wizard/index.php" is not found (20: Not a > directory), client: 62.64.10.185, server: baculum.host.com, request: "GET > /wizard/ HTTP/1.1", host: "baculum.host.com" > > Убираю слеш в конфиге > location / { if (!-e $request_filename){ rewrite ^(.*)$ /index.php$1 break; > } > > Получаю туже ошибку без лишнего слеша > 2014/08/21 12:37:18 [error] 16350#0: *10 > "/usr/local/www/baculum/index.php/wizard/index.php" is not found (20: Not a > directory), client: 62.64.10.185, server: baculum.host.com, request: "GET > /wizard/ HTTP/1.1", host: "baculum.host.com" > > Физически каталога /wizard нет. Используется Framework Prado, как я > понимаю. > Видимо что-то с реврайтом, но уже все облазил и так не добился > работоспособности. > Подскажите пожалуйста как решить проблему. > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252728,252728#msg-252728 > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From nginx-forum at nginx.us Fri Aug 22 08:35:16 2014 From: nginx-forum at nginx.us (igor.goncharenko) Date: Fri, 22 Aug 2014 04:35:16 -0400 Subject: health_check In-Reply-To: References: Message-ID: <3f10967448a0f29bdc329ea2dd420e52.NginxMailingListRussian@forum.nginx.org> Польза есть, но я просто спросил. Может быть я бы использовал health_check у себя с интервалом 1 сек. --- Igor Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252740,252750#msg-252750 From nginx-ru at sadok.spb.ru Fri Aug 22 08:49:09 2014 From: nginx-ru at sadok.spb.ru (Dmitry Ivanov) Date: Fri, 22 Aug 2014 12:49:09 +0400 Subject: health_check In-Reply-To: References: Message-ID: <817810741.20140822124909@sadok.spb.ru> Здравствуйте, Илья. Вы писали 22 августа 2014 г., 12:04:11: > по ощущениям health_check решает маркетинговую задачу "чтобы было в > списке фич". реальной пользы от него нет. > можете меня переубедить ? Ну, на том же NetScaler мониторы можно настроить вообще как угодно. Не обязательно HEAD. Хоть внешний скрипт прикрути. Так что польза есть. -- С уважением, Dmitry mailto:nginx-ru at sadok.spb.ru From chipitsine at gmail.com Fri Aug 22 09:43:55 2014 From: chipitsine at gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Fri, 22 Aug 2014 15:43:55 +0600 Subject: health_check In-Reply-To: <817810741.20140822124909@sadok.spb.ru> References: <817810741.20140822124909@sadok.spb.ru> Message-ID: к netscaler-у отношусь с уважением. про внешний скрипт в курсе. а в чем польза ? 22 августа 2014 г., 14:49 пользователь Dmitry Ivanov написал: > Здравствуйте, Илья. > > Вы писали 22 августа 2014 г., 12:04:11: > >> по ощущениям health_check решает маркетинговую задачу "чтобы было в >> списке фич". реальной пользы от него нет. > >> можете меня переубедить ? > > Ну, на том же NetScaler мониторы можно настроить вообще как угодно. Не > обязательно HEAD. Хоть внешний скрипт прикрути. > > Так что польза есть. > > -- > С уважением, > Dmitry mailto:nginx-ru at sadok.spb.ru > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From chipitsine at gmail.com Fri Aug 22 09:45:29 2014 From: chipitsine at gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Fri, 22 Aug 2014 15:45:29 +0600 Subject: health_check In-Reply-To: <3f10967448a0f29bdc329ea2dd420e52.NginxMailingListRussian@forum.nginx.org> References: <3f10967448a0f29bdc329ea2dd420e52.NginxMailingListRussian@forum.nginx.org> Message-ID: что дает интервал в одну секунду ? 22 августа 2014 г., 14:35 пользователь igor.goncharenko написал: > Польза есть, но я просто спросил. Может быть я бы использовал health_check у > себя с интервалом 1 сек. > > --- > Igor > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252740,252750#msg-252750 > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From nginx-ru at sadok.spb.ru Fri Aug 22 09:57:25 2014 From: nginx-ru at sadok.spb.ru (Dmitry Ivanov) Date: Fri, 22 Aug 2014 13:57:25 +0400 Subject: health_check In-Reply-To: References: <817810741.20140822124909@sadok.spb.ru> Message-ID: <1764940927.20140822135725@sadok.spb.ru> Здравствуйте, Илья. Вы писали 22 августа 2014 г., 13:43:55: > к netscaler-у отношусь с уважением. про внешний скрипт в курсе. > а в чем польза ? Да хоть выключать сервера из балансировки на время работ на них. Разрабы кладут файл-флаг в нужное место, НС его видит и "гасит" сервер у себя. Порабтали с сервером, удалили файлик - он снова в балансировке участвует. Или вопрос о другом? -- С уважением, Dmitry mailto:nginx-ru at sadok.spb.ru From chipitsine at gmail.com Fri Aug 22 10:53:37 2014 From: chipitsine at gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Fri, 22 Aug 2014 16:53:37 +0600 Subject: health_check In-Reply-To: <1764940927.20140822135725@sadok.spb.ru> References: <817810741.20140822124909@sadok.spb.ru> <1764940927.20140822135725@sadok.spb.ru> Message-ID: вот смотрите. во время работ сервер отвечает 200 ? думаю, что нет. мы на asp.net сайтах кладем app_offline.htm, приложение отвечает 503 и через proxy_next_upstream http_503 мы прекрасно уходим на следующий сервер. как вариант - выключать приложение полностью (уходить в tcp rst), и балансировать по "proxy_next_upstream error" если других сценариев кроме сервисного обслуживания нет, вероятно, хелсчек не нужен. 22 августа 2014 г., 15:57 пользователь Dmitry Ivanov написал: > Здравствуйте, Илья. > > Вы писали 22 августа 2014 г., 13:43:55: > >> к netscaler-у отношусь с уважением. про внешний скрипт в курсе. > >> а в чем польза ? > > Да хоть выключать сервера из балансировки на время работ на них. > Разрабы кладут файл-флаг в нужное место, НС его видит и "гасит" сервер > у себя. Порабтали с сервером, удалили файлик - он снова в балансировке > участвует. > > Или вопрос о другом? > > -- > С уважением, > Dmitry mailto:nginx-ru at sadok.spb.ru > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From chipitsine at gmail.com Fri Aug 22 15:59:02 2014 From: chipitsine at gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Fri, 22 Aug 2014 21:59:02 +0600 Subject: =?UTF-8?B?UmU6INCS0YvQtNCw0LXRgtGB0Y8g0YHRgtCw0YDQsNGPINCy0LXRgNGB0LjRjyA=?= =?UTF-8?B?0YHRgtCw0YLQuNGH0LXRgdC60LjRhSDRhNCw0LnQu9C+0LI=?= In-Reply-To: <1b5d14b69e1eae799019d82458260671.NginxMailingListRussian@forum.nginx.org> References: <3429451.NvG5LTj0zy@tornado> <1b5d14b69e1eae799019d82458260671.NginxMailingListRussian@forum.nginx.org> Message-ID: вероятно, вы хотели отдавать те файлы, которые локально лежат на nginx, прямо с него, остальное проксировать ? это более изящно можно сделать через try_files (в 50x.html можно прописать alias вместо root): root "C:\xxx\xxx"; error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } location / { try_files $uri $uri/ @u; } location @u { proxy_set_header x-real-IP $remote_addr; proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; proxy_set_header host $http_host; proxy_pass http://xxx.x.x.x/; proxy_read_timeout 75; proxy_connect_timeout 75; } 21 августа 2014 г., 1:41 пользователь Lyudmila Kh написал: > Да, наблюдаю именно тот экземпляр Nginx, конфиг которого смотрю: удаляла js > файлы из правила обработки файлов Nginx, в результате те начинали выдаваться > iis-ом правильно с изменениями. > > Что касается статики из кеша браузера - точно нет, так как на сервер > выкладывались не только измененные js-файлы, но и новые. Ни на каком другом > компе в любом браузере не видны не только изменения в js-файлах, но и новые > файлы показываются, как not found 404. > > Вот конфиг. > > worker_processes 4; > error_log "C:\xxx\xxx\xxx.log"; > events { > worker_connections 1024; > } > > http { > include mime.types; > default_type application/octet-stream; > access_log xxx/xxx.log; > sendfile on; > keepalive_timeout 65; > client_max_body_size 100m; > gzip on; > gzip_disable "msie6"; > gzip_vary on; > gzip_proxied any; > gzip_comp_level 6; > gzip_buffers 16 8k; > gzip_types text/plain text/css application/json application/x-javascript > application/javascript text/xml application/xml application/xml+rss > text/javascript text/json; > > server { > listen xx; > server_name xxx.xx.xx.xx; > location ~* > ^.+.(jpg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|swf)$ > { > root "C:\xxx\xxx"; > } > location / { > proxy_set_header x-real-IP $remote_addr; > proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; > proxy_set_header host $http_host; > proxy_pass http://xxx.x.x.x/; > proxy_read_timeout 75; > proxy_connect_timeout 75; > } > error_page 500 502 503 504 /50x.html; > location = /50x.html { > root html; > } > } > } > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252697,252703#msg-252703 > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From nginx-ru at sadok.spb.ru Fri Aug 22 16:12:13 2014 From: nginx-ru at sadok.spb.ru (Dmitry Ivanov) Date: Fri, 22 Aug 2014 20:12:13 +0400 Subject: health_check In-Reply-To: References: <817810741.20140822124909@sadok.spb.ru> <1764940927.20140822135725@sadok.spb.ru> Message-ID: <1323391698.20140822201213@sadok.spb.ru> Здравствуйте, Илья. Вы писали 22 августа 2014 г., 14:53:37: > если других сценариев кроме сервисного обслуживания нет, вероятно, > хелсчек не нужен. Приложение может отвечать 200 и не работать. Один из моих скриптов логинится тестовым пользователем в личный кабинет, проверяет баланс и если заранее известная сумма не совпадает - значит упс, что-то поломалось (приложение, БД и т.п.) - гасим сервис и выставляем заглушку. Мониторинг это видит и сообщает куда надо. -- С уважением, Dmitry mailto:nginx-ru at sadok.spb.ru From nginx-forum at nginx.us Fri Aug 22 18:54:33 2014 From: nginx-forum at nginx.us (Lyudmila Kh) Date: Fri, 22 Aug 2014 14:54:33 -0400 Subject: =?UTF-8?B?UmU6INCS0YvQtNCw0LXRgtGB0Y8g0YHRgtCw0YDQsNGPINCy0LXRgNGB0LjRjyA=?= =?UTF-8?B?0YHRgtCw0YLQuNGH0LXRgdC60LjRhSDRhNCw0LnQu9C+0LI=?= In-Reply-To: References: Message-ID: <59d1dd20b71e99870cbdf9f1ec3304e6.NginxMailingListRussian@forum.nginx.org> Спасибо большое за совет:) Пошла читать документацию про try_files. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252697,252766#msg-252766 From gmm at csdoc.com Fri Aug 22 19:10:13 2014 From: gmm at csdoc.com (Gena Makhomed) Date: Fri, 22 Aug 2014 22:10:13 +0300 Subject: =?UTF-8?Q?error=5Fpage_404_=D0=B8_ngx=5Fhttp=5Findex=5Fmodule?= In-Reply-To: <20131018135001.GM2144@mdounin.ru> References: <20131016152031.GY2144@mdounin.ru> <525EC51F.2040107@csdoc.com> <20131016173302.GA2144@mdounin.ru> <525EDAD8.502@csdoc.com> <20131016231857.GC2144@mdounin.ru> <525FDE35.3030209@csdoc.com> <20131017140915.GG2144@mdounin.ru> <526028DA.3040208@csdoc.com> <20131018114116.GK2144@mdounin.ru> <52613540.20704@csdoc.com> <20131018135001.GM2144@mdounin.ru> Message-ID: <53F79595.3060900@csdoc.com> On 18.10.2013 16:50, Maxim Dounin wrote: > Отдельно печалит, что в результате конфигурации с error_page 404 > @fallback - практически исчезли, хотя аналог на try_files - > гарантированно хуже. server { server_name www.example.com; root /home/www/example.com/static.www/; location / { error_page 404 = @php; log_not_found off; } location @php { fastcgi_param SCRIPT_FILENAME /home/www/example.com/engine/index.php; include /etc/nginx/fastcgi_params; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; } } www.example.com - это динамика, и $uri для 99.999% запросов к этому домену оканчиваются символом '/', например: /support/ или /about/ В каталоге static.www лежит всего несколько файлов, которые должны быть на домене www.example.com - favicon.ico, robots.txt, sitemap.xml, googlexxxxxxxxxxxxxxxxxx.html и yandex_xxxxxxxxxxxxxxxxxxxx.html, а вся остальная статика для сайта www.example.com раздается с отдельного домена example.com Модуль ngx_http_index_module в nginx - сейчас неотключаемый. В результате, в 100% случаев модуль ngx_http_index_module тратит ресурсы сервера впустую, пытясь открыть заведомо не существующие индексные файлы. Каким способом будет более правильно отключить модуль ngx_http_index_module ? сделать workaround через регулярное выражение: location / { location ~ /$ { return 404; } error_page 404 = @php; } Или путем патча, который добавляет возможность полного отключения этого модуля через указание в конфиге директивы "index off;" ? http { index off; ... server { ... location / { error_page 404 = @php; } } } - тогда сразу возвращается 404 для всех uri, оканчивающихся слэшом ('/') без попыток что-либо искать ни диске и без необходимости применять регулярные выражения для каждого клиентского запроса к сайту. -- Best regards, Gena From chipitsine at gmail.com Fri Aug 22 19:42:57 2014 From: chipitsine at gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Sat, 23 Aug 2014 01:42:57 +0600 Subject: health_check In-Reply-To: <1323391698.20140822201213@sadok.spb.ru> References: <817810741.20140822124909@sadok.spb.ru> <1764940927.20140822135725@sadok.spb.ru> <1323391698.20140822201213@sadok.spb.ru> Message-ID: это синхронные запросы, они блокируют процесс-обработчик в nginx. 22 августа 2014 г., 22:12 пользователь Dmitry Ivanov написал: > Здравствуйте, Илья. > > Вы писали 22 августа 2014 г., 14:53:37: > >> если других сценариев кроме сервисного обслуживания нет, вероятно, >> хелсчек не нужен. > > Приложение может отвечать 200 и не работать. Один из моих скриптов > логинится тестовым пользователем в личный кабинет, проверяет баланс и > если заранее известная сумма не совпадает - значит упс, что-то > поломалось (приложение, БД и т.п.) - гасим сервис и выставляем > заглушку. Мониторинг это видит и сообщает куда надо. > > -- > С уважением, > Dmitry mailto:nginx-ru at sadok.spb.ru > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From nginx-forum at nginx.us Sun Aug 24 22:02:32 2014 From: nginx-forum at nginx.us (Sarymian) Date: Sun, 24 Aug 2014 18:02:32 -0400 Subject: Nginx 1.7.4 + LibreSSL Message-ID: <40a3fe6d7be96fd68c07b5858c0ec290.NginxMailingListRussian@forum.nginx.org> Здравствуйте. Пробую собрать nginx с LibreSSL с таким конфигом: ./configure --user=www-data --group=www-data --with-pcre=/home/install/pcre-8.35/ --with-zlib=/home/install/zlib-1.2.8/ --with-openssl=/home/install/libressl-2.0.5/ --with-http_ssl_module --with-ld-opt="-lrt" --without-http_geo_module --without-http_proxy_module --without-http_ssi_module --without-http_upstream_ip_hash_module --with-http_gzip_static_module --with-http_stub_status_module --with-ipv6 --error-log-path=/mnt/log/nginx/error.log --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --http-log-path=/mnt/log/nginx/access.log --http-client-body-temp-path=/mnt/log/nginx/http-temp/client_body_temp --http-proxy-temp-path=/mnt/log/nginx/http-temp/proxy_temp --http-fastcgi-temp-path=/mnt/log/nginx/http-temp/fastcgi_temp --http-uwsgi-temp-path=/mnt/log/nginx/http-temp/uwsgi_temp --http-scgi-temp-path=/mnt/log/nginx/http-temp/scgi_temp При выполнении "make" получаю error: test -z "test-suite.log" || rm -f test-suite.log rm -f *.lo make[3]: Leaving directory `/home/install/libressl-2.0.5/tests' Making clean in man make[3]: Entering directory `/home/install/libressl-2.0.5/man' rm -rf .libs _libs rm -f *.lo make[3]: Leaving directory `/home/install/libressl-2.0.5/man' make[3]: Entering directory `/home/install/libressl-2.0.5' rm -rf .libs _libs rm -f *.lo make[3]: Leaving directory `/home/install/libressl-2.0.5' make[2]: Leaving directory `/home/install/libressl-2.0.5' /bin/sh: 3: ./config: not found make[1]: *** [/home/install/libressl-2.0.5//.openssl/include/openssl/ssl.h] Ошибка 127 make[1]: Leaving directory `/home/install/nginx-1.7.4' make: *** [build] Ошибка 2 Подскажите пожалуйста как собрать всё же nginx с LibreSSL? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252783,252783#msg-252783 From nginx-forum at nginx.us Mon Aug 25 06:17:17 2014 From: nginx-forum at nginx.us (boffin) Date: Mon, 25 Aug 2014 02:17:17 -0400 Subject: =?UTF-8?B?UmU6IEJhY3VsYSBHVUkgKNCd0LDRgdGC0YDQvtC50LrQsCk=?= In-Reply-To: References: Message-ID: Спасибо Илья. но это webacula (http://webacula.sourceforge.net/) просит ZF. Она у меня работает. Вот хотел bacula-gui-7.0.5.tar.gz (родной) посмотреть, а не выходит :( Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252728,252786#msg-252786 From postmaster at softsearch.ru Mon Aug 25 06:43:45 2014 From: postmaster at softsearch.ru (=?koi8-r?B?7cnIwcnMIO3PzsHbo9c=?=) Date: Mon, 25 Aug 2014 10:43:45 +0400 Subject: Nginx 1.7.4 + LibreSSL In-Reply-To: <40a3fe6d7be96fd68c07b5858c0ec290.NginxMailingListRussian@forum.nginx.org> References: <40a3fe6d7be96fd68c07b5858c0ec290.NginxMailingListRussian@forum.nginx.org> Message-ID: <78836448.20140825104345@softsearch.ru> Здравствуйте, Sarymian. > Пробую собрать nginx с LibreSSL с таким конфигом: А в чём преимущество LibreSSL? Т.е. зачем Вы это делаете? -- С уважением, Михаил mailto:postmaster at softsearch.ru From nginx-forum at nginx.us Mon Aug 25 09:40:41 2014 From: nginx-forum at nginx.us (shambler81) Date: Mon, 25 Aug 2014 05:40:41 -0400 Subject: =?UTF-8?B?UmU6IG5naW54INCx0LDQu9Cw0L3RgdC10YAgcHJveHkgcGFzcyDRgNCw0LfQtNC1?= =?UTF-8?B?0LvQuNGC0Ywg0LrQvtC90YTQuNCz0Lgg0L/RgNC4INCx0LDQu9Cw0L3RgdC1?= In-Reply-To: <53F6108D.1@webmaster.spb.ru> References: <53F6108D.1@webmaster.spb.ru> Message-ID: <284701806bea370b3c869e6a8e35595f.NginxMailingListRussian@forum.nginx.org> Спасибо за отзвыв, идея с svn мне очень приглянулась, обязательно реализую но явно не на этом проекте. Что касается Proxy_redirect я тут тоже немного опешил но это стандартный конфиг nic.ru тут я ничего не сделаю. Собственно задача достаточно идиотская изначально. Клиент боится перевозить сайт на выделеный сервер и требует полного бэкапа на старый сервер. Поскольку на нем стоит nginx появилась идея не просто дампить изакачиваь файлы на nic.ru и импортить бд раз в неделю. Но и посколкьу на нике стоит nginx подключить новый сервер в балансер как оснвное зеркало, при его отваливание автоматически переключаться на локальную копию, в таком параноедальном варианте им даже не прийдется переписывать NS сервера. То что ник сам может упасть мы не берем посколкьу считаем что это уже их проблемы. По сему мне и нужен не просто proxy_pass а и статика поскольку мне нужно подсасыватьи статику с другого сервера. В данной конфигурации фактически хотелось бы разделяем nginx и апач на разные машины. Сайт на втором сервере доступен по ip Однако не совсем понятно как мне подгрузить полностью новый конфиг при изменение http { upstream myapp1 { server 111.111.111.111:8080 fail_timeout=10; (удаленый сервер со своим nginx+apache) server 10.1.119.36:8080; (местная копия) } Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252739,252788#msg-252788 From nginx-forum at nginx.us Mon Aug 25 10:13:09 2014 From: nginx-forum at nginx.us (Sarymian) Date: Mon, 25 Aug 2014 06:13:09 -0400 Subject: Nginx 1.7.4 + LibreSSL In-Reply-To: <78836448.20140825104345@softsearch.ru> References: <78836448.20140825104345@softsearch.ru> Message-ID: Здравствуйте Михаил. Ну во-первых LibreSSL это форк "обезжиренный" - т.е. в нем обрали всё не нужное и устаревшее. Как следствие меньше подтянет "кода" за собой при компиляции. Но не это важно. Пробую проделать всё на тестовой машине, а не на боевом сервере и мне просто интересно стало - раз в анонсе указали, что такая возможность появилась. Хотел её попробовать - но не получается. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252783,252789#msg-252789 From vbart at nginx.com Mon Aug 25 10:38:11 2014 From: vbart at nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Mon, 25 Aug 2014 14:38:11 +0400 Subject: Nginx 1.7.4 + LibreSSL In-Reply-To: References: <78836448.20140825104345@softsearch.ru> Message-ID: <1993001.miqg6T8VhO@vbart-workstation> On Monday 25 August 2014 06:13:09 Sarymian wrote: > Здравствуйте Михаил. > > Ну во-первых LibreSSL это форк "обезжиренный" - т.е. в нем обрали всё не > нужное и устаревшее. Как следствие меньше подтянет "кода" за собой при > компиляции. > > Но не это важно. > Пробую проделать всё на тестовой машине, а не на боевом сервере и мне просто > интересно стало - раз в анонсе указали, что такая возможность появилась. > Хотел её попробовать - но не получается. > В анонсе заявлено о возможности собирать nginx с BoringSSL и LibreSSL. О том, что nginx при этом научился собирать эти библиотеки за вас, как он умеет собирать OpenSSL - речи не идет. -- Валентин Бартенев From nginx-forum at nginx.us Mon Aug 25 11:31:19 2014 From: nginx-forum at nginx.us (Sarymian) Date: Mon, 25 Aug 2014 07:31:19 -0400 Subject: Nginx 1.7.4 + LibreSSL In-Reply-To: <1993001.miqg6T8VhO@vbart-workstation> References: <1993001.miqg6T8VhO@vbart-workstation> Message-ID: <1329a6eb2f5f8ef6fbe2e52e59214215.NginxMailingListRussian@forum.nginx.org> ./configure make make install (это уже от безнадеги сделал, мало ли вдруг помогло бы) Это я сделал в первую очередь. Вот только ругается на отсутствие файла config который есть в сырцах OpenSSL, но отсуствует в других сырцах. Может новый параметр есть для сборки с LibreSSL, но ./configure --help ни о чем таком не говорит. Пробовал --with-libressl=/home/install/librassl-2.0.5/ ругается на неизвестный параметр. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252783,252791#msg-252791 From nginx-forum at nginx.us Mon Aug 25 12:03:44 2014 From: nginx-forum at nginx.us (Sarymian) Date: Mon, 25 Aug 2014 08:03:44 -0400 Subject: Nginx 1.7.4 + LibreSSL In-Reply-To: <1993001.miqg6T8VhO@vbart-workstation> References: <1993001.miqg6T8VhO@vbart-workstation> Message-ID: Порядок установки: cd /home/install wget http://nginx.org/download/nginx-1.7.4.tar.gz wget http://mirror.yandex.ru/pub/OpenBSD/LibreSSL/libressl-2.0.5.tar.gz wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.35.tar.gz wget http://zlib.net/zlib-1.2.8.tar.gz tar -xzf nginx-1.7.4.tar.gz tar -xzf libressl-2.0.5.tar.gz tar -xzf pcre-8.35.tar.gz tar -xzf zlib-1.2.8.tar.gz cd libressl-2.0.5 ./configure make cd .. cd nginx ./configure --user=www-data --group=www-data --with-pcre=/home/install/pcre-8.35/ --with-zlib=/home/install/zlib-1.2.8/ --with-openssl=/home/install/libressl-2.0.5/ --with-http_ssl_module --without-http_geo_module --without-http_proxy_module --without-http_ssi_module --without-http_upstream_ip_hash_module --with-http_gzip_static_module --with-http_stub_status_module --with-ipv6 --error-log-path=/mnt/log/nginx/error.log --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --http-log-path=/mnt/log/nginx/access.log --http-client-body-temp-path=/mnt/log/nginx/http-temp/client_body_temp --http-proxy-temp-path=/mnt/log/nginx/http-temp/proxy_temp --http-fastcgi-temp-path=/mnt/log/nginx/http-temp/fastcgi_temp --http-uwsgi-temp-path=/mnt/log/nginx/http-temp/uwsgi_temp --http-scgi-temp-path=/mnt/log/nginx/http-temp/scgi_temp make Вот тогда и получаю ошибку: make[3]: Leaving directory `/home/install/libressl-2.0.5' make[2]: Leaving directory `/home/install/libressl-2.0.5' /bin/sh: 3: ./config: not found make[1]: *** [/home/install/libressl-2.0.5//.openssl/include/openssl/ssl.h] Ошибка 127 make[1]: Leaving directory `/home/install/nginx-1.7.4' make: *** [build] Ошибка 2 Что я делаю не правильно? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252783,252792#msg-252792 From vbart at nginx.com Mon Aug 25 12:14:04 2014 From: vbart at nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Mon, 25 Aug 2014 16:14:04 +0400 Subject: =?UTF-8?B?UmU6IHN1Yl9maWx0ZXIg0Lgg0YHQuNC80LLQvtC7ICY=?= In-Reply-To: References: <20140717115343.GV1849@mdounin.ru> Message-ID: <1508249.ZMy1EFrWeM@vbart-workstation> On Thursday 17 July 2014 16:34:42 Maxim Kozlov wrote: > 17 июля 2014 г., 15:53 пользователь Maxim Dounin > > On Thu, Jul 17, 2014 at 01:55:58PM +0400, Валентин Бартенев wrote: > > > Просто алгоритм sub_filter не умеет искать отдельные символы. > > > Минимальный размер строки для поиска сейчас - два символа. > > > > IMHO, это выглядит как баг и это имеет смысл исправить. Ну или > > как минимум ругаться, если строка для поиска слишком короткая. > > > > ну или хотя бы обозначить это в документации > Исправлено: http://hg.nginx.org/nginx/rev/5322be87fc02 -- Валентин Бартенев From mdounin at mdounin.ru Mon Aug 25 12:47:25 2014 From: mdounin at mdounin.ru (Maxim Dounin) Date: Mon, 25 Aug 2014 16:47:25 +0400 Subject: =?UTF-8?Q?Re=3A_error=5Fpage_404_=D0=B8_ngx=5Fhttp=5Findex=5Fmodule?= In-Reply-To: <53F79595.3060900@csdoc.com> References: <20131016173302.GA2144@mdounin.ru> <525EDAD8.502@csdoc.com> <20131016231857.GC2144@mdounin.ru> <525FDE35.3030209@csdoc.com> <20131017140915.GG2144@mdounin.ru> <526028DA.3040208@csdoc.com> <20131018114116.GK2144@mdounin.ru> <52613540.20704@csdoc.com> <20131018135001.GM2144@mdounin.ru> <53F79595.3060900@csdoc.com> Message-ID: <20140825124725.GZ1849@mdounin.ru> Hello! On Fri, Aug 22, 2014 at 10:10:13PM +0300, Gena Makhomed wrote: [...] > location / { > error_page 404 = @php; > log_not_found off; > } > > location @php { > fastcgi_param SCRIPT_FILENAME /home/www/example.com/engine/index.php; > include /etc/nginx/fastcgi_params; > fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; > } > } > > www.example.com - это динамика, и $uri для 99.999% запросов к этому > домену оканчиваются символом '/', например: /support/ или /about/ > > В каталоге static.www лежит всего несколько файлов, которые должны > быть на домене www.example.com - favicon.ico, robots.txt, sitemap.xml, > googlexxxxxxxxxxxxxxxxxx.html и yandex_xxxxxxxxxxxxxxxxxxxx.html, > а вся остальная статика для сайта www.example.com раздается > с отдельного домена example.com > > Модуль ngx_http_index_module в nginx - сейчас неотключаемый. > В результате, в 100% случаев модуль ngx_http_index_module тратит > ресурсы сервера впустую, пытясь открыть заведомо не существующие > индексные файлы. Just for record: приведённая конфигурация не будет работать, если индексных файлов нет. Для URI, заканчивающихся на "/", выдаётся 403 в случае, если обработчик не найден (и логгируется сообщение "directory index of ... is forbidden" в error_log), так что в директиву error_page надо добавить 403. Кроме того, в данном конкретном случае я бы не пытался делать fallback, а вместо этого сделал location'ы под существующую статику по списку. Чтобы не пытаться открывать "заведомо не существующие файлы". > Каким способом будет более правильно отключить модуль > ngx_http_index_module ? сделать workaround > через регулярное выражение: > > location / { > location ~ /$ { > return 404; > } > error_page 404 = @php; > } > > Или путем патча, который добавляет возможность полного отключения > этого модуля через указание в конфиге директивы "index off;" ? > > http { > index off; > ... > server { > ... > location / { > error_page 404 = @php; > } > } > } > > - тогда сразу возвращается 404 для всех uri, оканчивающихся слэшом ('/') > без попыток что-либо искать ни диске и без необходимости применять > регулярные выражения для каждого клиентского запроса к сайту. С точки зрения эффективности - самым правильным способом будет убрать fallback из схемы вообще, см. выше. Отключения индексов тем или иным способом - это в любом случае полумеры. Но если делать именно для индексных файлов, то я бы сделал так: location ~ /$ { fastcgi_pass ... } Сделать возможность полного отключения индексов - можно, но практика показывает, что обычно есть решение лучше. -- Maxim Dounin http://nginx.org/ From mdounin at mdounin.ru Mon Aug 25 13:01:39 2014 From: mdounin at mdounin.ru (Maxim Dounin) Date: Mon, 25 Aug 2014 17:01:39 +0400 Subject: GEOIP2 In-Reply-To: References: <1407921865.852902566@f13.my.com> Message-ID: <20140825130139.GA1849@mdounin.ru> Hello! On Wed, Aug 20, 2014 at 03:13:35AM +0300, Sargas wrote: > up! :) > > > 13 августа 2014 г., 12:24 пользователь написал: > > > По вашей же ссылке написано про 3rd party module для nginx > > > > Вторник, 12 августа 2014 г., 23:34 +0400 from Sargas : > > > > Приветствую. > > > > Появилась какая-то новая база geoip2 > > http://dev.maxmind.com/geoip/geoip2/downloadable/ > > Будет ли в ближайшем будущем работать стандартный модуль > > ngx_http_geoip_module с ней? В ближайшем будущем - скорее нет, чем да. -- Maxim Dounin http://nginx.org/ From mdounin at mdounin.ru Mon Aug 25 13:14:36 2014 From: mdounin at mdounin.ru (Maxim Dounin) Date: Mon, 25 Aug 2014 17:14:36 +0400 Subject: Nginx 1.7.4 + LibreSSL In-Reply-To: <40a3fe6d7be96fd68c07b5858c0ec290.NginxMailingListRussian@forum.nginx.org> References: <40a3fe6d7be96fd68c07b5858c0ec290.NginxMailingListRussian@forum.nginx.org> Message-ID: <20140825131436.GC1849@mdounin.ru> Hello! On Sun, Aug 24, 2014 at 06:02:32PM -0400, Sarymian wrote: > Здравствуйте. > > Пробую собрать nginx с LibreSSL с таким конфигом: > ./configure --user=www-data --group=www-data > --with-pcre=/home/install/pcre-8.35/ --with-zlib=/home/install/zlib-1.2.8/ > --with-openssl=/home/install/libressl-2.0.5/ --with-http_ssl_module [...] Ошибка в том, что вы просите nginx собрать OpenSSL из исходников. Так работать не будет. Чтобы nginx собрался с LibreSSL, надо собрать/поставить LibreSSL, и уже после этого собрать nginx с поддержкой SSL. Если в системе при этом стоит другая SSL-библиотека, то можно явно указать пути к LibreSSL с помощью --with-cc-opt/--with-ldp-opt: ./configure --with-cc-opt="-L /path/to/libressl/include" \ --with-ld-opt="-I /path/to/libressl/lib" \ --with-http_ssl_module ... -- Maxim Dounin http://nginx.org/ From denis at webmaster.spb.ru Mon Aug 25 13:52:25 2014 From: denis at webmaster.spb.ru (denis) Date: Mon, 25 Aug 2014 17:52:25 +0400 Subject: =?UTF-8?B?UmU6IG5naW54INCx0LDQu9Cw0L3RgdC10YAgcHJveHkgcGFzcyDRgNCw0LfQtNC1?= =?UTF-8?B?0LvQuNGC0Ywg0LrQvtC90YTQuNCz0Lgg0L/RgNC4INCx0LDQu9Cw0L3RgdC1?= In-Reply-To: <284701806bea370b3c869e6a8e35595f.NginxMailingListRussian@forum.nginx.org> References: <53F6108D.1@webmaster.spb.ru> <284701806bea370b3c869e6a8e35595f.NginxMailingListRussian@forum.nginx.org> Message-ID: <53FB3F99.1050408@webmaster.spb.ru> 25.08.2014 13:40, shambler81 пишет: Извиняюсь конечно, но "моя недавно приехала писать пока ниумею". > Спасибо за отзвыв, идея с svn мне очень приглянулась, обязательно реализую > но явно не на этом проекте. > Что касается > Proxy_redirect я тут тоже немного опешил но это стандартный конфиг nic.ru > тут я ничего не сделаю. > Собственно задача достаточно идиотская изначально. > > Клиент боиться перевозить сайт на выделеный сервер и требует полного бэкапа > на старый сервер. > Поскольку на нем стоит nginx появилась идея не просто дампить изакачиваь > файлы на nic.ru и импортить бд раз в неделю. а еще можно поднять master-slave и всегда иметь горячую копию базы. > По сему мне и нужен не просто proxy_pass > а и статика поскольку мне нужно подсасыватьи статику с другого сервера. статистика через парсинг логов обоих серверов. Есть post-action, но он иногда ломается и вообще требует умения себя готовить, так что для начала только парсинг. > В данной конфигурации фактически хотелось бы разделяем nginx и апач на > разные машины. > > Сайт на втором сервере доступен по ip Однако не совсем понятно как мне > подгрузить полностью новый конфиг при изменение nginx reload, больше никак. Читаем ранее. Конфиги сами не всосутся, их надо синхронизировать, потом релоад. > http { > upstream myapp1 { > server 111.111.111.111:8080 fail_timeout=10; (удаленый сервер со своим > nginx+apache) > server 10.1.119.36:8080; (местная копия) > } это схема 50/50, половина запросов будет идти на старый сервер, половина на новый. Пора бы уже поднять тестовый стенд из 2 виртуалок и потестировать... From nginx-forum at nginx.us Mon Aug 25 14:51:50 2014 From: nginx-forum at nginx.us (BieZax) Date: Mon, 25 Aug 2014 10:51:50 -0400 Subject: nginx & internal & redirect Message-ID: Добрый день! Захотелось мне авторизовываться через mysql, нормальных модулей не нашел и нарисовал свой костыль в виде перлового демона, который слушает на порту 8080 и в случае удачной авторизации возвращает `"X-Accel-Redirect: /ok" . $url`. В конфиге nginx эта конструкция выглядит следующим образом: location /test/ { proxy_set_header X-CAuth-Realm "test"; proxy_set_header X-CAuth-Base "test"; proxy_set_header X-CAuth-Table "test"; proxy_set_header X-CAuth-GField "test"; proxy_set_header X-CAuth-PassF "password"; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:8080; } location /ok/test/ { internal; proxy_pass https://hostname/test2/; proxy_redirect https://hostname/test2/ /ok/test/; } location /test2/ { # rewrite ^/test2/$ /test2/qwe.pl redirect; proxy_pass http://127.0.0.1:8081/test/; proxy_redirect http://127.0.0.1:8081/test/ /ok/test/; } И все прекрасно работало, пока не появился редирект(закоменчен). После попадания в редирект меня перекидывает сюда http://ok/test/qwe.pl. Никак не могу понять, откуда берется "ок", может кто-то сможет мне подсказать ? ЗЫ Рабочая конструкция, естественно, несколько сложнее, и вместо test2 отдельный бэкенд. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252809,252809#msg-252809 From mdounin at mdounin.ru Mon Aug 25 16:00:23 2014 From: mdounin at mdounin.ru (Maxim Dounin) Date: Mon, 25 Aug 2014 20:00:23 +0400 Subject: nginx & internal & redirect In-Reply-To: References: Message-ID: <20140825160023.GH1849@mdounin.ru> Hello! On Mon, Aug 25, 2014 at 10:51:50AM -0400, BieZax wrote: [...] > Добрый день! > Захотелось мне авторизовываться через mysql, нормальных модулей не > нашел и нарисовал свой костыль в виде перлового демона, который > слушает на порту 8080 и в случае удачной авторизации возвращает > `"X-Accel-Redirect: /ok" . $url`. В конфиге nginx эта конструкция > выглядит следующим образом: Just a side note: есть auth_request, которой делает приблизительно то же самое, но чуть удобнее с точки зрения конфигурирования. Подробнее тут: http://nginx.org/ru/docs/http/ngx_http_auth_request_module.html > location /test/ { > proxy_set_header X-CAuth-Realm "test"; > proxy_set_header X-CAuth-Base "test"; > proxy_set_header X-CAuth-Table "test"; > proxy_set_header X-CAuth-GField "test"; > proxy_set_header X-CAuth-PassF "password"; > proxy_set_header Host $host; > proxy_set_header X-Real-IP $remote_addr; > proxy_set_header X-Forwarded-Host $host; > proxy_set_header X-Forwarded-Server $host; > proxy_set_header X-Forwarded-For > $proxy_add_x_forwarded_for; > proxy_pass http://127.0.0.1:8080; > } > > location /ok/test/ { > internal; > proxy_pass https://hostname/test2/; > proxy_redirect https://hostname/test2/ /ok/test/; > } > location /test2/ { > # rewrite ^/test2/$ /test2/qwe.pl redirect; > proxy_pass http://127.0.0.1:8081/test/; > proxy_redirect http://127.0.0.1:8081/test/ /ok/test/; > } > И все прекрасно работало, пока не появился редирект(закоменчен). После > попадания в редирект меня перекидывает сюда http://ok/test/qwe.pl. > Никак не могу понять, откуда берется "ок", может кто-то сможет мне > подсказать ? Если берётся сразу после "http://", то это должно быть имя хоста из заголовка Host или server_name. Вообще, судя по конфигу, должен возвращаться редиркет на "http:///ok/test/qwe.pl": - запрос к "/ok/test/" проксируется на https://hostname/test2/; - rewrite в "location /test2/" возвращает перенаправление на "/test2/qwe.pl" (+ "https://hostname"); - proxy_redirect в "location /ok/test/" заменяет префикс "https://hostname/test2/" на "/ok/test/", т.е. перенаправление на "/ok/test/qwe.pl" (при возврате клиенту - к этому добавляет схема и имя хоста). Всё это в предположении, что "proxy_pass https://hostname" - суть проксирование на тот же nginx. -- Maxim Dounin http://nginx.org/ From nginx-forum at nginx.us Mon Aug 25 23:57:54 2014 From: nginx-forum at nginx.us (Sarymian) Date: Mon, 25 Aug 2014 19:57:54 -0400 Subject: Nginx 1.7.4 + LibreSSL In-Reply-To: <20140825131436.GC1849@mdounin.ru> References: <20140825131436.GC1849@mdounin.ru> Message-ID: <394b8bc94a1955952ecb9644d3e160c2.NginxMailingListRussian@forum.nginx.org> Прошу меня простить, но то ли лыжи не едут, то ли я... Порядок установки: cd /home/install wget http://nginx.org/download/nginx-1.7.4.tar.gz wget http://mirror.yandex.ru/pub/OpenBSD/LibreSSL/libressl-2.0.5.tar.gz wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.35.tar.gz wget http://zlib.net/zlib-1.2.8.tar.gz tar -xzf nginx-1.7.4.tar.gz tar -xzf libressl-2.0.5.tar.gz tar -xzf pcre-8.35.tar.gz tar -xzf zlib-1.2.8.tar.gz cd libressl-2.0.5 ./configure make make install cd .. cd nginx ./configure --user=www-data --group=www-data --with-pcre=/home/install/pcre-8.35/ --with-zlib=/home/install/zlib-1.2.8/ --with-http_ssl_module --with-cc-opt="-L /usr/local/include" --with-ld-opt="-I /usr/local/lib" --without-http_geo_module --without-http_proxy_module --without-http_ssi_module --without-http_upstream_ip_hash_module --with-http_gzip_static_module --with-http_stub_status_module --with-ipv6 --error-log-path=/mnt/log/nginx/error.log --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --http-log-path=/mnt/log/nginx/access.log --http-client-body-temp-path=/mnt/log/nginx/http-temp/client_body_temp --http-proxy-temp-path=/mnt/log/nginx/http-temp/proxy_temp --http-fastcgi-temp-path=/mnt/log/nginx/http-temp/fastcgi_temp --http-uwsgi-temp-path=/mnt/log/nginx/http-temp/uwsgi_temp --http-scgi-temp-path=/mnt/log/nginx/http-temp/scgi_temp make make install При попытки запуска nginx получаю ошибку: /usr/local/nginx/sbin/nginx: error while loading shared libraries: libssl.so.27: cannot open shared object file: No such file or directory После устновки LibreSSL делал (и после делал) ls /usr/local/lib libcrypto.a libcrypto.la libcrypto.so libcrypto.so.30 libcrypto.so.30.0.0 libssl.a libssl.la libssl.so libssl.so.27 libssl.so.27.0.0 pkgconfig Как видим файл на месте. Что теперь не так то сделал? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252783,252817#msg-252817 From nginx-forum at nginx.us Tue Aug 26 09:19:16 2014 From: nginx-forum at nginx.us (BieZax) Date: Tue, 26 Aug 2014 05:19:16 -0400 Subject: nginx & internal & redirect In-Reply-To: <20140825160023.GH1849@mdounin.ru> References: <20140825160023.GH1849@mdounin.ru> Message-ID: <1f10d828df9b38ed5b7e0db9b080f79a.NginxMailingListRussian@forum.nginx.org> Maxim Dounin Wrote: ------------------------------------------------------- > Hello! > > On Mon, Aug 25, 2014 at 10:51:50AM -0400, BieZax wrote: > > [...] > > > Добрый день! > > Захотелось мне авторизовываться через mysql, нормальных модулей > не > > нашел и нарисовал свой костыль в виде перлового демона, > который > > слушает на порту 8080 и в случае удачной авторизации возвращает > > `"X-Accel-Redirect: /ok" . $url`. В конфиге nginx эта > конструкция > > выглядит следующим образом: > > Just a side note: есть auth_request, которой делает приблизительно > то же самое, но чуть удобнее с точки зрения конфигурирования. > Подробнее тут: > > http://nginx.org/ru/docs/http/ngx_http_auth_request_module.html > > > location /test/ { > > proxy_set_header X-CAuth-Realm "test"; > > proxy_set_header X-CAuth-Base "test"; > > proxy_set_header X-CAuth-Table "test"; > > proxy_set_header X-CAuth-GField "test"; > > proxy_set_header X-CAuth-PassF "password"; > > proxy_set_header Host $host; > > proxy_set_header X-Real-IP $remote_addr; > > proxy_set_header X-Forwarded-Host $host; > > proxy_set_header X-Forwarded-Server $host; > > proxy_set_header X-Forwarded-For > > $proxy_add_x_forwarded_for; > > proxy_pass http://127.0.0.1:8080; > > } > > > > location /ok/test/ { > > internal; > > proxy_pass https://hostname/test2/; > > proxy_redirect https://hostname/test2/ /ok/test/; > > } > > location /test2/ { > > # rewrite ^/test2/$ /test2/qwe.pl redirect; > > proxy_pass http://127.0.0.1:8081/test/; > > proxy_redirect http://127.0.0.1:8081/test/ > /ok/test/; > > } > > И все прекрасно работало, пока не появился редирект(закоменчен). > После > > попадания в редирект меня перекидывает сюда > http://ok/test/qwe.pl. > > Никак не могу понять, откуда берется "ок", может кто-то сможет мне > > подсказать ? > > Если берётся сразу после "http://", то это должно быть имя хоста > из заголовка Host или server_name. > > Вообще, судя по конфигу, должен возвращаться редиркет на > "http:///ok/test/qwe.pl": > > - запрос к "/ok/test/" проксируется на https://hostname/test2/; > > - rewrite в "location /test2/" возвращает перенаправление на > "/test2/qwe.pl" (+ "https://hostname"); > > - proxy_redirect в "location /ok/test/" заменяет префикс > "https://hostname/test2/" на "/ok/test/", т.е. перенаправление > на "/ok/test/qwe.pl" (при возврате клиенту - к этому добавляет > схема и имя хоста). > > Всё это в предположении, что "proxy_pass https://hostname" - суть > проксирование на тот же nginx. > > -- > Maxim Dounin > http://nginx.org/ > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru Спасибо! Убрал /ok/ из proxy_redirect и все завелось. Правда теперь не совсем понятно, как это работало до того, как нарвался на проблему с редиректом Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252809,252830#msg-252830 From nginx-forum at nginx.us Tue Aug 26 09:48:31 2014 From: nginx-forum at nginx.us (ex) Date: Tue, 26 Aug 2014 05:48:31 -0400 Subject: Nginx 1.7.4 + LibreSSL In-Reply-To: <394b8bc94a1955952ecb9644d3e160c2.NginxMailingListRussian@forum.nginx.org> References: <20140825131436.GC1849@mdounin.ru> <394b8bc94a1955952ecb9644d3e160c2.NginxMailingListRussian@forum.nginx.org> Message-ID: >>cd /home/install >--with-cc-opt="-L /usr/local/include" --with-ld-opt="-I /usr/local/lib" пути поправте Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252783,252832#msg-252832 From nginx-forum at nginx.us Tue Aug 26 10:55:24 2014 From: nginx-forum at nginx.us (Sarymian) Date: Tue, 26 Aug 2014 06:55:24 -0400 Subject: Nginx 1.7.4 + LibreSSL In-Reply-To: References: <20140825131436.GC1849@mdounin.ru> <394b8bc94a1955952ecb9644d3e160c2.NginxMailingListRussian@forum.nginx.org> Message-ID: <9f31389e1839b57320ab4bc27bffe9a8.NginxMailingListRussian@forum.nginx.org> Не могу раздуплиться... Указал так: ./configure --user=www-data --group=www-data --with-pcre=/home/install/pcre-8.35/ --with-zlib=/home/install/zlib-1.2.8/ --with-http_ssl_module --with-cc-opt="-L /home/install/libressl-2.0.5/include" --with-ld-opt="-I /home/install/libressl-2.0.5/ssl/.libs/" --without-http_geo_module --without-http_proxy_module --without-http_ssi_module --without-http_upstream_ip_hash_module --with-http_gzip_static_module --with-http_stub_status_module --with-ipv6 --error-log-path=/mnt/log/nginx/error.log --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --http-log-path=/mnt/log/nginx/access.log --http-client-body-temp-path=/mnt/log/nginx/http-temp/client_body_temp --http-proxy-temp-path=/mnt/log/nginx/http-temp/proxy_temp --http-fastcgi-temp-path=/mnt/log/nginx/http-temp/fastcgi_temp --http-uwsgi-temp-path=/mnt/log/nginx/http-temp/uwsgi_temp --http-scgi-temp-path=/mnt/log/nginx/http-temp/scgi_temp В /home/install/libressl-2.0.5/ssl/.libs/ libssl.a libssl_la-s23_pkt.o libssl_la-ssl_lib.o libssl.la libssl_la-s23_srvr.o libssl_la-ssl_rsa.o libssl_la-bio_ssl.o libssl_la-s3_both.o libssl_la-ssl_sess.o libssl_la-d1_both.o libssl_la-s3_cbc.o libssl_la-ssl_stat.o libssl_la-d1_clnt.o libssl_la-s3_clnt.o libssl_la-ssl_txt.o libssl_la-d1_enc.o libssl_la-s3_enc.o libssl_la-t1_clnt.o libssl_la-d1_lib.o libssl_la-s3_lib.o libssl_la-t1_enc.o libssl_la-d1_meth.o libssl_la-s3_meth.o libssl_la-t1_lib.o libssl_la-d1_pkt.o libssl_la-s3_pkt.o libssl_la-t1_meth.o libssl_la-d1_srtp.o libssl_la-s3_srvr.o libssl_la-t1_reneg.o libssl_la-d1_srvr.o libssl_la-ssl_algs.o libssl_la-t1_srvr.o libssl.lai libssl_la-ssl_asn1.o libssl.so libssl_la-pqueue.o libssl_la-ssl_cert.o libssl.so.27 libssl_la-s23_clnt.o libssl_la-ssl_ciph.o libssl.so.27.0.0 libssl_la-s23_lib.o libssl_la-ssl_err2.o libssl_la-s23_meth.o libssl_la-ssl_err.o Я уже и не могу понять что ему надо... Ах да, ошибка та же. При запуске ругается на libssl.so.27 - его отсутствие. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252783,252834#msg-252834 From annulen at yandex.ru Tue Aug 26 11:24:03 2014 From: annulen at yandex.ru (Konstantin Tokarev) Date: Tue, 26 Aug 2014 15:24:03 +0400 Subject: Nginx 1.7.4 + LibreSSL In-Reply-To: <9f31389e1839b57320ab4bc27bffe9a8.NginxMailingListRussian@forum.nginx.org> References: <20140825131436.GC1849@mdounin.ru> <394b8bc94a1955952ecb9644d3e160c2.NginxMailingListRussian@forum.nginx.org> <9f31389e1839b57320ab4bc27bffe9a8.NginxMailingListRussian@forum.nginx.org> Message-ID: <1225571409052243@web4g.yandex.ru> 26.08.2014, 14:55, "Sarymian" : > Не могу раздуплиться... > > Указал так: > ./configure --user=www-data --group=www-data > --with-pcre=/home/install/pcre-8.35/ --with-zlib=/home/install/zlib-1.2.8/ > --with-http_ssl_module --with-cc-opt="-L > /home/install/libressl-2.0.5/include" --with-ld-opt="-I > /home/install/libressl-2.0.5/ssl/.libs/" --without-http_geo_module > --without-http_proxy_module --without-http_ssi_module > --without-http_upstream_ip_hash_module --with-http_gzip_static_module > --with-http_stub_status_module --with-ipv6 > --error-log-path=/mnt/log/nginx/error.log --without-mail_pop3_module > --without-mail_imap_module --without-mail_smtp_module > --http-log-path=/mnt/log/nginx/access.log > --http-client-body-temp-path=/mnt/log/nginx/http-temp/client_body_temp > --http-proxy-temp-path=/mnt/log/nginx/http-temp/proxy_temp > --http-fastcgi-temp-path=/mnt/log/nginx/http-temp/fastcgi_temp > --http-uwsgi-temp-path=/mnt/log/nginx/http-temp/uwsgi_temp > --http-scgi-temp-path=/mnt/log/nginx/http-temp/scgi_temp > > В /home/install/libressl-2.0.5/ssl/.libs/ > > libssl.a              libssl_la-s23_pkt.o   libssl_la-ssl_lib.o > libssl.la             libssl_la-s23_srvr.o  libssl_la-ssl_rsa.o > libssl_la-bio_ssl.o   libssl_la-s3_both.o   libssl_la-ssl_sess.o > libssl_la-d1_both.o   libssl_la-s3_cbc.o    libssl_la-ssl_stat.o > libssl_la-d1_clnt.o   libssl_la-s3_clnt.o   libssl_la-ssl_txt.o > libssl_la-d1_enc.o    libssl_la-s3_enc.o    libssl_la-t1_clnt.o > libssl_la-d1_lib.o    libssl_la-s3_lib.o    libssl_la-t1_enc.o > libssl_la-d1_meth.o   libssl_la-s3_meth.o   libssl_la-t1_lib.o > libssl_la-d1_pkt.o    libssl_la-s3_pkt.o    libssl_la-t1_meth.o > libssl_la-d1_srtp.o   libssl_la-s3_srvr.o   libssl_la-t1_reneg.o > libssl_la-d1_srvr.o   libssl_la-ssl_algs.o  libssl_la-t1_srvr.o > libssl.lai            libssl_la-ssl_asn1.o  libssl.so > libssl_la-pqueue.o    libssl_la-ssl_cert.o  libssl.so.27 > libssl_la-s23_clnt.o  libssl_la-ssl_ciph.o  libssl.so.27.0.0 > libssl_la-s23_lib.o   libssl_la-ssl_err2.o > libssl_la-s23_meth.o  libssl_la-ssl_err.o > > Я уже и не могу понять что ему надо... > Ах да, ошибка та же. При запуске ругается на libssl.so.27 - его отсутствие. Можно добавить -Wl,-rpath,/home/install/libressl-2.0.5/ssl/.libs/ во флаги линковки -- Regards, Konstantin From nginx-forum at nginx.us Tue Aug 26 11:46:10 2014 From: nginx-forum at nginx.us (Sarymian) Date: Tue, 26 Aug 2014 07:46:10 -0400 Subject: Nginx 1.7.4 + LibreSSL In-Reply-To: <1225571409052243@web4g.yandex.ru> References: <1225571409052243@web4g.yandex.ru> Message-ID: Херня какая-то... похоже проще забить. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252783,252837#msg-252837 From mdounin at mdounin.ru Tue Aug 26 12:12:45 2014 From: mdounin at mdounin.ru (Maxim Dounin) Date: Tue, 26 Aug 2014 16:12:45 +0400 Subject: Nginx 1.7.4 + LibreSSL In-Reply-To: <394b8bc94a1955952ecb9644d3e160c2.NginxMailingListRussian@forum.nginx.org> References: <20140825131436.GC1849@mdounin.ru> <394b8bc94a1955952ecb9644d3e160c2.NginxMailingListRussian@forum.nginx.org> Message-ID: <20140826121245.GS1849@mdounin.ru> Hello! On Mon, Aug 25, 2014 at 07:57:54PM -0400, Sarymian wrote: > wget http://nginx.org/download/nginx-1.7.4.tar.gz > wget http://mirror.yandex.ru/pub/OpenBSD/LibreSSL/libressl-2.0.5.tar.gz > wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.35.tar.gz > wget http://zlib.net/zlib-1.2.8.tar.gz > tar -xzf nginx-1.7.4.tar.gz > tar -xzf libressl-2.0.5.tar.gz > tar -xzf pcre-8.35.tar.gz > tar -xzf zlib-1.2.8.tar.gz > cd libressl-2.0.5 > ./configure > make > make install > cd .. > cd nginx > ./configure --user=www-data --group=www-data > --with-pcre=/home/install/pcre-8.35/ --with-zlib=/home/install/zlib-1.2.8/ > --with-http_ssl_module --with-cc-opt="-L /usr/local/include" > --with-ld-opt="-I /usr/local/lib" --without-http_geo_module Err, --with-cc-opt="-I .../include", а --with-ld-opt="-L .../lib", соответственно. [...] -- Maxim Dounin http://nginx.org/ From nginx-forum at nginx.us Tue Aug 26 12:23:29 2014 From: nginx-forum at nginx.us (Sarymian) Date: Tue, 26 Aug 2014 08:23:29 -0400 Subject: Nginx 1.7.4 + LibreSSL In-Reply-To: <20140826121245.GS1849@mdounin.ru> References: <20140826121245.GS1849@mdounin.ru> Message-ID: Уже и так пробовал. Как я уже не игрался с настройками и параметрами. У меня складывается мнение, что собрать с libressl тот еще секас... Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252783,252843#msg-252843 From nginx-forum at nginx.us Tue Aug 26 13:31:14 2014 From: nginx-forum at nginx.us (skeletor) Date: Tue, 26 Aug 2014 09:31:14 -0400 Subject: =?UTF-8?B?c2VydmVyIG5hbWU6INGA0LXQs9GD0LvRj9GA0LrQsCDQuNC70Lgg0YHRgtCw0YI=?= =?UTF-8?B?0LjQutCwPw==?= Message-ID: Насколько сильно нагружает регулярка nginx, к примеру для такого server_name ~^(en|ru|de|fr|sp|it|pt|pl|nl|jp|cz|se|cn|tr|mx|gr|kr|hu|gr|ro)\.(site.com)$; ? Имеет ли смысл для повышения быстродействия перечислить вручную все возможные значение в server_name: server_name en.site.com ru.site.com ... ? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252846,252846#msg-252846 From mdounin at mdounin.ru Tue Aug 26 14:16:12 2014 From: mdounin at mdounin.ru (Maxim Dounin) Date: Tue, 26 Aug 2014 18:16:12 +0400 Subject: Nginx 1.7.4 + LibreSSL In-Reply-To: References: <20140826121245.GS1849@mdounin.ru> Message-ID: <20140826141612.GZ1849@mdounin.ru> Hello! On Tue, Aug 26, 2014 at 08:23:29AM -0400, Sarymian wrote: > Уже и так пробовал. Как я уже не игрался с настройками и параметрами. > > У меня складывается мнение, что собрать с libressl тот еще секас... По сложности задача не отличается от сборки с какой-либо другой библиотекой. Просто вы привыкли к тому, что nginx всё делает за вас. :) Проще всего собраться с libressl статически, тогда проблем с поиском библиотеки при загрузке не будет совсем. Для этого следует собирать libressl с ключём configure --disable-shared (и/или убрать динамические библиотеки, если они уже собраны): cd libressl-2.0.5 ./configure --prefix=`pwd`/.libressl --disable-shared cd ../nginx-1.7.4 ./configure --with-http_ssl_module \ --with-cc-opt="-I `pwd`/../libressl-2.0.5/.libressl/include" \ --with-ld-opt="-L `pwd`/../libressl-2.0.5/.libressl/lib" Если же хочется использовать динамические библиотеки, и при этом они стоят в пути, который система по умолчанию не смотрит при загрузке библиотек - то надо ещё и сделать так, чтобы она туда смотрела. Например, определив переменную LD_LIBRARY_PATH при запуске или добавив ключ "-Wl,-rpath=/path/to/lib" к --with-ld-opt при сборке. -- Maxim Dounin http://nginx.org/ From danila at shtan.ru Tue Aug 26 17:35:06 2014 From: danila at shtan.ru (Danila Shtan) Date: Tue, 26 Aug 2014 23:35:06 +0600 Subject: =?UTF-8?B?ZmFzdGNnaSDRgNC10LbQtdGCIFBPU1Qg0LTQviA2NDAwMCDQsdCw0LnRgiDQv9GA?= =?UTF-8?B?0Lgg0L/QtdGA0LXRhdC+0LTQtSDQsiBuZXh0IHVwc3RyZWFt?= Message-ID: Полдня сегодня ловил баг, который оказался уже описан в рассылке (англоязычной, правда) ? http://forum.nginx.org/read.php?29,250947,251007#msg-251007 Суть в том, что в случае проблем на первом бэкенде, запрос перепосылается на второй, но содержимое POST оказывается равным ровно 64000. Насколько я понимаю, в виде "try this patch" решение пробегало, а есть какое-то понимание, когда оно добежит до stable? Д. -------------- next part -------------- An HTML attachment was scrubbed... URL: From nginx-forum at nginx.us Tue Aug 26 18:38:22 2014 From: nginx-forum at nginx.us (iprok) Date: Tue, 26 Aug 2014 14:38:22 -0400 Subject: =?UTF-8?B?0JfQsNC/0YDQtdGCINC90LXQv9GA0LDQstC40LvRjNC90L7Qs9C+IGhvc3Qg0LQ=?= =?UTF-8?B?0LvRjyBpcHY2?= Message-ID: <3c40bab0dc65a3cec7c0cbcc75ac01a4.NginxMailingListRussian@forum.nginx.org> Здравствуйте! Классической конструкцией для запрета запросов с неправильным полем Host: является server { listen 80 default_server; return 444; } Но что делать для ipv6? В ipv6 нельзя сделать несколько раз listen на один и тот же ip:port, так что вышеприведенная конструкция работать не будет. Есть варианты кроме как использовать нерекомендуемый if, анализируя переменную $host ? Спасибо. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252860,252860#msg-252860 From gmm at csdoc.com Tue Aug 26 19:22:45 2014 From: gmm at csdoc.com (Gena Makhomed) Date: Tue, 26 Aug 2014 22:22:45 +0300 Subject: =?UTF-8?Q?Re=3A_error=5Fpage_404_=D0=B8_ngx=5Fhttp=5Findex=5Fmodule?= In-Reply-To: <20140825124725.GZ1849@mdounin.ru> References: <20131016173302.GA2144@mdounin.ru> <525EDAD8.502@csdoc.com> <20131016231857.GC2144@mdounin.ru> <525FDE35.3030209@csdoc.com> <20131017140915.GG2144@mdounin.ru> <526028DA.3040208@csdoc.com> <20131018114116.GK2144@mdounin.ru> <52613540.20704@csdoc.com> <20131018135001.GM2144@mdounin.ru> <53F79595.3060900@csdoc.com> <20140825124725.GZ1849@mdounin.ru> Message-ID: <53FCDE85.4000308@csdoc.com> On 25.08.2014 15:47, Maxim Dounin wrote: >> location / { >> error_page 404 = @php; >> log_not_found off; >> } >> >> location @php { >> fastcgi_param SCRIPT_FILENAME /home/www/example.com/engine/index.php; >> include /etc/nginx/fastcgi_params; >> fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; >> } >> } >> >> www.example.com - это динамика, и $uri для 99.999% запросов к этому >> домену оканчиваются символом '/', например: /support/ или /about/ >> >> В каталоге static.www лежит всего несколько файлов, которые должны >> быть на домене www.example.com - favicon.ico, robots.txt, sitemap.xml, >> googlexxxxxxxxxxxxxxxxxx.html и yandex_xxxxxxxxxxxxxxxxxxxx.html, >> а вся остальная статика для сайта www.example.com раздается >> с отдельного домена example.com >> >> Модуль ngx_http_index_module в nginx - сейчас неотключаемый. >> В результате, в 100% случаев модуль ngx_http_index_module тратит >> ресурсы сервера впустую, пытясь открыть заведомо не существующие >> индексные файлы. > > Just for record: приведённая конфигурация не будет работать, если > индексных файлов нет. Для URI, заканчивающихся на "/", выдаётся > 403 в случае, если обработчик не найден (и логгируется сообщение > "directory index of ... is forbidden" в error_log), так что в > директиву error_page надо добавить 403. Только я не весь конфиг процитировал, там есть еще и такой location: location = / { error_page 404 = @php; return 404; } А для всех остальных URI, заканчивающихся на "/" - модуль index всегда возвращает 404, потому что в каталоге /home/www/example.com/static.www/ нет соответствующих этим URI подкаталогов. Если бы каталог существовал, но в нем не было бы индексного файла, тогда возвращался бы 403 статус. > Кроме того, в данном конкретном случае я бы не пытался делать > fallback, а вместо этого сделал location'ы под существующую > статику по списку. Чтобы не пытаться открывать "заведомо не > существующие файлы". Да, это лучший вариант. Только тогда придется делать генератор конфига, и какой-то сервис, который будет по запросу перегенерировать конфиг сайта и делать service nginx reload, потому что обновления сайта выкладываются на сервер скриптом под пользователем www. Пока что "location ~ /$ { return 404; }" - это вполне рабочий вариант, который позволяет обойтись без генератора конфига nginx и без релоадов. > С точки зрения эффективности - самым правильным способом будет > убрать fallback из схемы вообще, см. выше. Отключения индексов > тем или иным способом - это в любом случае полумеры. Да, при использовании Docker надо будет так и сделать, всеравно там будет генерироваться новый контейнер для каждой новой версии сайта. Благодарю за помощь! -- Best regards, Gena From mdounin at mdounin.ru Tue Aug 26 20:13:38 2014 From: mdounin at mdounin.ru (Maxim Dounin) Date: Wed, 27 Aug 2014 00:13:38 +0400 Subject: =?UTF-8?B?UmU6INCX0LDQv9GA0LXRgiDQvdC10L/RgNCw0LLQuNC70YzQvdC+0LPQviBob3N0?= =?UTF-8?B?INC00LvRjyBpcHY2?= In-Reply-To: <3c40bab0dc65a3cec7c0cbcc75ac01a4.NginxMailingListRussian@forum.nginx.org> References: <3c40bab0dc65a3cec7c0cbcc75ac01a4.NginxMailingListRussian@forum.nginx.org> Message-ID: <20140826201338.GE1849@mdounin.ru> Hello! On Tue, Aug 26, 2014 at 02:38:22PM -0400, iprok wrote: > Здравствуйте! Классической конструкцией для запрета запросов с неправильным > полем Host: является > > server { > listen 80 default_server; > return 444; > } > > Но что делать для ipv6? В ipv6 нельзя сделать несколько раз listen на один и > тот же ip:port, так что вышеприведенная конструкция работать не будет. Есть > варианты кроме как использовать нерекомендуемый if, анализируя переменную > $host ? Для ipv6, равно как и для ipv4, можно писать listen-сокет в конфиге сколько угодно раз - nginx создаст один сокет, сделает один системный вызов listen(), и будет распределять запросы между блоками server{}, в которых используется соответствующий listen-сокет, в соответствии с заголовком Host. Т.е. делать ровно так же: server { listen 80 default_server; listen [::]:80 default_server; return 444; } -- Maxim Dounin http://nginx.org/ From vbart at nginx.com Tue Aug 26 20:37:11 2014 From: vbart at nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Wed, 27 Aug 2014 00:37:11 +0400 Subject: =?UTF-8?B?UmU6IGZhc3RjZ2kg0YDQtdC20LXRgiBQT1NUINC00L4gNjQwMDAg0LHQsNC50YIg?= =?UTF-8?B?0L/RgNC4INC/0LXRgNC10YXQvtC00LUg0LIgbmV4dCB1cHN0cmVhbQ==?= In-Reply-To: References: Message-ID: <5335028.EeENnP5ACu@vbart-laptop> On Tuesday 26 August 2014 23:35:06 Danila Shtan wrote: > Полдня сегодня ловил баг, который оказался уже описан в рассылке > (англоязычной, правда) ? > http://forum.nginx.org/read.php?29,250947,251007#msg-251007 > > Суть в том, что в случае проблем на первом бэкенде, запрос перепосылается > на второй, но содержимое POST оказывается равным ровно 64000. > > Насколько я понимаю, в виде "try this patch" решение пробегало, а есть > какое-то понимание, когда оно добежит до stable? Увы, предложенный патч не понравилось ответственному и не был одобрен. Придумать другое решение руки тогда не дошли. Посмотрю на досуге, что ещё можно с этим сделать. А пока можете использовать предложенный патч. -- Валентин Бартенев From nginx-forum at nginx.us Tue Aug 26 20:40:58 2014 From: nginx-forum at nginx.us (iprok) Date: Tue, 26 Aug 2014 16:40:58 -0400 Subject: =?UTF-8?B?UmU6INCX0LDQv9GA0LXRgiDQvdC10L/RgNCw0LLQuNC70YzQvdC+0LPQviBob3N0?= =?UTF-8?B?INC00LvRjyBpcHY2?= In-Reply-To: <20140826201338.GE1849@mdounin.ru> References: <20140826201338.GE1849@mdounin.ru> Message-ID: <72e58ada70572561c4bdea82787ab104.NginxMailingListRussian@forum.nginx.org> Maxim Dounin Wrote: > Т.е. делать ровно так же: > > server { > listen 80 default_server; > listen [::]:80 default_server; > return 444; > } Я первым делом попробовал предложенный Вами конфиг. К сожалению вот такой вот вариант конфига не работает, если убрать комментарий: user nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { server { listen 8080 default_server; listen [::]:8080 default_server; return 444; } server { listen XXX.XX.XXX.251:8080; # listen [2aXX:X:XXX:XXXX:2::6]:8080 ipv6only=on; server_name "test.local"; } } Если конфиг с комментарием, то nginx запускается, биндясь на netstat -tulpn | grep nginx tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 16821/nginx.conf tcp6 0 0 :::8080 :::* LISTEN 16821/nginx.conf Если комментарий убираю, то получаю ошибку: nginx: [emerg] bind() to [::]:8080 failed (98: Address already in use) nginx: [emerg] bind() to [::]:8080 failed (98: Address already in use) nginx: [emerg] bind() to [::]:8080 failed (98: Address already in use) nginx: [emerg] bind() to [::]:8080 failed (98: Address already in use) nginx: [emerg] bind() to [::]:8080 failed (98: Address already in use) nginx: [emerg] still could not bind() failed! Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252860,252864#msg-252864 From nginx-forum at nginx.us Tue Aug 26 20:44:36 2014 From: nginx-forum at nginx.us (iprok) Date: Tue, 26 Aug 2014 16:44:36 -0400 Subject: =?UTF-8?B?UmU6INCX0LDQv9GA0LXRgiDQvdC10L/RgNCw0LLQuNC70YzQvdC+0LPQviBob3N0?= =?UTF-8?B?INC00LvRjyBpcHY2?= In-Reply-To: <20140826201338.GE1849@mdounin.ru> References: <20140826201338.GE1849@mdounin.ru> Message-ID: <68c21806fd0b3155e2e8157cfed16b3d.NginxMailingListRussian@forum.nginx.org> Простите, забыл указать версию. nginx 1.6.1-1~wheezy, ставился из официального репозиторя nginx: http://nginx.org/packages/debian/ . ОС - Debian Wheezy amd64. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252860,252865#msg-252865 From vbart at nginx.com Tue Aug 26 20:53:33 2014 From: vbart at nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Wed, 27 Aug 2014 00:53:33 +0400 Subject: =?UTF-8?B?UmU6INCX0LDQv9GA0LXRgiDQvdC10L/RgNCw0LLQuNC70YzQvdC+0LPQviBob3N0?= =?UTF-8?B?INC00LvRjyBpcHY2?= In-Reply-To: <72e58ada70572561c4bdea82787ab104.NginxMailingListRussian@forum.nginx.org> References: <20140826201338.GE1849@mdounin.ru> <72e58ada70572561c4bdea82787ab104.NginxMailingListRussian@forum.nginx.org> Message-ID: <9349423.WfkBmQv8A4@vbart-laptop> On Tuesday 26 August 2014 16:40:58 iprok wrote: > Maxim Dounin Wrote: > > > Т.е. делать ровно так же: > > > > server { > > listen 80 default_server; > > listen [::]:80 default_server; > > return 444; > > } > > Я первым делом попробовал предложенный Вами конфиг. К сожалению вот такой > вот вариант конфига не работает, если убрать комментарий: > > user nginx; > worker_processes 1; > > error_log /var/log/nginx/error.log warn; > pid /var/run/nginx.pid; > > > events { > worker_connections 1024; > } > > > http { > server { > listen 8080 default_server; > listen [::]:8080 default_server; > return 444; > } > server { > listen XXX.XX.XXX.251:8080; > # listen [2aXX:X:XXX:XXXX:2::6]:8080 ipv6only=on; > server_name "test.local"; > } > } > [..] Уберите отсюда "ipv6only=on" и всё будет нормально. Непонятно, что вас заставило добавить эту опцию, однако это заставляет nginx делать отдельный bind() на этот адрес. -- Валентин Бартенев From nginx-forum at nginx.us Tue Aug 26 21:00:38 2014 From: nginx-forum at nginx.us (iprok) Date: Tue, 26 Aug 2014 17:00:38 -0400 Subject: =?UTF-8?B?UmU6INCX0LDQv9GA0LXRgiDQvdC10L/RgNCw0LLQuNC70YzQvdC+0LPQviBob3N0?= =?UTF-8?B?INC00LvRjyBpcHY2?= In-Reply-To: <9349423.WfkBmQv8A4@vbart-laptop> References: <9349423.WfkBmQv8A4@vbart-laptop> Message-ID: Валентин Бартенев Wrote: > Уберите отсюда "ipv6only=on" и всё будет нормально. > Непонятно, что вас заставило добавить эту опцию, > однако это заставляет nginx делать отдельный bind() > на этот адрес. > Большое спасибо. Проблема решена. Заставило меня так сделать использование чужих конфигов для примера и недостаточно внимательное чтение документации при использовании этих примеров. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252860,252868#msg-252868 From mdounin at mdounin.ru Tue Aug 26 22:49:52 2014 From: mdounin at mdounin.ru (Maxim Dounin) Date: Wed, 27 Aug 2014 02:49:52 +0400 Subject: =?UTF-8?B?UmU6INCX0LDQv9GA0LXRgiDQvdC10L/RgNCw0LLQuNC70YzQvdC+0LPQviBob3N0?= =?UTF-8?B?INC00LvRjyBpcHY2?= In-Reply-To: <72e58ada70572561c4bdea82787ab104.NginxMailingListRussian@forum.nginx.org> References: <20140826201338.GE1849@mdounin.ru> <72e58ada70572561c4bdea82787ab104.NginxMailingListRussian@forum.nginx.org> Message-ID: <20140826224952.GF1849@mdounin.ru> Hello! On Tue, Aug 26, 2014 at 04:40:58PM -0400, iprok wrote: > Maxim Dounin Wrote: > > > Т.е. делать ровно так же: > > > > server { > > listen 80 default_server; > > listen [::]:80 default_server; > > return 444; > > } > > Я первым делом попробовал предложенный Вами конфиг. К сожалению вот такой > вот вариант конфига не работает, если убрать комментарий: > > user nginx; > worker_processes 1; > > error_log /var/log/nginx/error.log warn; > pid /var/run/nginx.pid; > > > events { > worker_connections 1024; > } > > > http { > server { > listen 8080 default_server; > listen [::]:8080 default_server; > return 444; > } > server { > listen XXX.XX.XXX.251:8080; > # listen [2aXX:X:XXX:XXXX:2::6]:8080 ipv6only=on; > server_name "test.local"; > } > } В блоке server{} с "return 444" нужно перечислять те же listen-сокеты, что и в других блоках server{}. Перечислять там другие сокеты - бессмысленно. E.g., в вышеприведённом конфиге все запросы к XXX.XX.XXX.251:8080 будут обаботаны в сервере test.local. Если в существующих серверах используются listen-сокеты XXX.XX.XXX.251:8080 и [2aXX:X:XXX:XXXX:2::6]:8080, то правильный конфиг будет выглядеть так: server { listen XXX.XX.XXX.251:8080 default_server; listen [2aXX:X:XXX:XXXX:2::6]:8080 default_server; return 444; } server { listen XXX.XX.XXX.251:8080; listen [2aXX:X:XXX:XXXX:2::6]:8080; server_name "test.local"; } Отмечу также, что начиная с 1.3.4 ipv6only=on используется по умолчанию, и явно его писать - не надо. > Если конфиг с комментарием, то nginx запускается, биндясь на > netstat -tulpn | grep nginx > tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN > 16821/nginx.conf > tcp6 0 0 :::8080 :::* LISTEN > 16821/nginx.conf > > Если комментарий убираю, то получаю ошибку: > nginx: [emerg] bind() to [::]:8080 failed (98: Address already in use) > nginx: [emerg] bind() to [::]:8080 failed (98: Address already in use) > nginx: [emerg] bind() to [::]:8080 failed (98: Address already in use) > nginx: [emerg] bind() to [::]:8080 failed (98: Address already in use) > nginx: [emerg] bind() to [::]:8080 failed (98: Address already in use) > nginx: [emerg] still could not bind() > failed! Linux, в отличие от классических BSD-систем, не разрешает создавать listen-сокеты одном и том же порту на wildcard-адресе (0.0.0.0 для ipv4, [::] для ipv6) и на ip-адресе одновременно, объясняя это соображениями безопасности. Про эти за^Wнюансы поведения Linux'а nginx знает, и при наличии в конфиге listen-сокетов на ip-адресах и wildcard-адресах одновременно - создаёт только один listen-сокет, а для правильного распределения входящих соединений по ip-based серверам - использует дополнительный системный вызов getsockname(). С приведённым конфигом, однако, из-за параметра ipv6only nginx создаёт отдельные сокеты, что в результате приводит к ошибке "Address already in use". Если убрать параметр ipv6only=on (ненужный, см. выше), то nginx запустится. Конфиг, впрочем, от этого правильным не станет - см. выше. Дополнительно про всё это можно прочитать в описании директивы listen (в частности, её параметра bind), и в водной статье "Как nginx обрабатывает запросы" (имеет смысл обратить внимание на раздел "Определение виртуального сервера по имени и IP-адресу"): http://nginx.org/ru/docs/http/ngx_http_core_module.html#listen http://nginx.org/ru/docs/http/request_processing.html#mixed_name_ip_based_servers -- Maxim Dounin http://nginx.org/ From mdounin at mdounin.ru Tue Aug 26 22:53:46 2014 From: mdounin at mdounin.ru (Maxim Dounin) Date: Wed, 27 Aug 2014 02:53:46 +0400 Subject: =?UTF-8?B?UmU6INCX0LDQv9GA0LXRgiDQvdC10L/RgNCw0LLQuNC70YzQvdC+0LPQviBob3N0?= =?UTF-8?B?INC00LvRjyBpcHY2?= In-Reply-To: <9349423.WfkBmQv8A4@vbart-laptop> References: <20140826201338.GE1849@mdounin.ru> <72e58ada70572561c4bdea82787ab104.NginxMailingListRussian@forum.nginx.org> <9349423.WfkBmQv8A4@vbart-laptop> Message-ID: <20140826225346.GG1849@mdounin.ru> Hello! On Wed, Aug 27, 2014 at 12:53:33AM +0400, Валентин Бартенев wrote: [...] > > server { > > listen 8080 default_server; > > listen [::]:8080 default_server; > > return 444; > > } > > server { > > listen XXX.XX.XXX.251:8080; > > # listen [2aXX:X:XXX:XXXX:2::6]:8080 ipv6only=on; > > server_name "test.local"; > > } > > } > > > [..] > > Уберите отсюда "ipv6only=on" и всё будет нормально. > Непонятно, что вас заставило добавить эту опцию, > однако это заставляет nginx делать отдельный bind() > на этот адрес. Запустится - запустится, но "нормально" - не будет, см. мой ответ. Ошибка тут в первую очередь в добавлении нового listen-сокета в сервер по умолчанию. -- Maxim Dounin http://nginx.org/ From nginx-forum at nginx.us Wed Aug 27 00:36:30 2014 From: nginx-forum at nginx.us (Sarymian) Date: Tue, 26 Aug 2014 20:36:30 -0400 Subject: Nginx 1.7.4 + LibreSSL In-Reply-To: <20140826141612.GZ1849@mdounin.ru> References: <20140826141612.GZ1849@mdounin.ru> Message-ID: <1de9d44f3b81c08398254361cf5e340d.NginxMailingListRussian@forum.nginx.org> Ну и опять же... При первом варианте: ./configure --user=www-data --group=www-data --with-pcre=/home/install/pcre-8.35/ --with-zlib=/home/install/zlib-1.2.8/ --with-http_ssl_module --with-cc-opt="-I `pwd`/../libressl-2.0.5/.libressl/include" --with-ld-opt="-L `pwd`/../libressl-2.0.5/.libressl/lib" --without-http_geo_module --without-http_proxy_module --without-http_ssi_module --without-http_upstream_ip_hash_module --with-http_gzip_static_module --with-http_stub_status_module --with-ipv6 --error-log-path=/mnt/log/nginx/error.log --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --http-log-path=/mnt/log/nginx/access.log --http-client-body-temp-path=/mnt/log/nginx/http-temp/client_body_temp --http-proxy-temp-path=/mnt/log/nginx/http-temp/proxy_temp --http-fastcgi-temp-path=/mnt/log/nginx/http-temp/fastcgi_temp --http-uwsgi-temp-path=/mnt/log/nginx/http-temp/uwsgi_temp --http-scgi-temp-path=/mnt/log/nginx/http-temp/scgi_temp Ошибку дает что не может найти OpenSSL (хотя make && make install сделал). ./configure: error: SSL modules require the OpenSSL library. You can either do not enable the modules, or install the OpenSSL library into the system, or build the OpenSSL library statically from the source with nginx by using --with-openssl= option. --with-openssl= уже задавал и как "`pwd`/../libressl-2.0.5/" и как "`pwd`/../libressl-2.0.5/.libressl" Валиться ошибка при make: make[3]: Leaving directory `/home/install/libressl-2.0.5' make[2]: Leaving directory `/home/install/libressl-2.0.5' /bin/sh: 3: ./config: not found make[1]: *** [/home/install/nginx-1.7.4/../libressl-2.0.5//.openssl/include/openssl/ssl.h] Ошибка 127 make[1]: Leaving directory `/home/install/nginx-1.7.4' make: *** [build] Ошибка 2 Что и следовало бы ожидать... Вариант два... ./configure --user=www-data --group=www-data --with-pcre=/home/install/pcre-8.35/ --with-zlib=/home/install/zlib-1.2.8/ --with-http_ssl_module --with-cc-opt="-I /home/install/libressl-2.0.5/include" --with-ld-opt="-Wl,-rpath=/home/install/libressl-2.0.5/ssl/.libs" --without-http_geo_module --without-http_proxy_module --without-http_ssi_module --without-http_upstream_ip_hash_module --with-http_gzip_static_module --with-http_stub_status_module --with-ipv6 --error-log-path=/mnt/log/nginx/error.log --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --http-log-path=/mnt/log/nginx/access.log --http-client-body-temp-path=/mnt/log/nginx/http-temp/client_body_temp --http-proxy-temp-path=/mnt/log/nginx/http-temp/proxy_temp --http-fastcgi-temp-path=/mnt/log/nginx/http-temp/fastcgi_temp --http-uwsgi-temp-path=/mnt/log/nginx/http-temp/uwsgi_temp --http-scgi-temp-path=/mnt/log/nginx/http-temp/scgi_temp make и make install прошли. root at debian:/home/install/nginx-1.7.4# /usr/local/nginx/sbin/nginx -v /usr/local/nginx/sbin/nginx: error while loading shared libraries: libssl.so.27: cannot open shared object file: No such file or directory Тут: nano /etc/ld.so.conf.d/libc.conf Говориться смотреть библиотеки в /usr/local/lib ls /usr/local/lib libcrypto.a libcrypto.la libcrypto.so libcrypto.so.30 libcrypto.so.30.0.0 libssl.a libssl.la libssl.so libssl.so.27 libssl.so.27.0.0 pkgconfig ldd /usr/local/nginx/sbin/nginx linux-vdso.so.1 => (0x00007fffbe3ff000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f755ee41000) libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f755ec0a000) libssl.so.27 => not found libcrypto.so.30 => not found libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f755ea05000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f755e679000) /lib64/ld-linux-x86-64.so.2 (0x00007f755f063000) Если я раньше хоть что-то и понимал, то сейчас я в упор нихрена не понимаю что творится... Кто нибудь вообще в принципе пробовал собрать с LibreSSL или объявили возможность сборки "в принципе"? Простите, я не хочу ни кого обижать или оскорблять, но все данным советы похожу "а попробуйте так, может заработает" - а точных описаний как сделать нет. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252783,252874#msg-252874 From nginx-forum at nginx.us Wed Aug 27 00:41:56 2014 From: nginx-forum at nginx.us (Sarymian) Date: Tue, 26 Aug 2014 20:41:56 -0400 Subject: Nginx 1.7.4 + LibreSSL In-Reply-To: <1de9d44f3b81c08398254361cf5e340d.NginxMailingListRussian@forum.nginx.org> References: <20140826141612.GZ1849@mdounin.ru> <1de9d44f3b81c08398254361cf5e340d.NginxMailingListRussian@forum.nginx.org> Message-ID: Я вообще в шоке... хз че происходит. Но секас тот еще. Как сделать чтобы всё работало без танцев не знаю... но: ldconfig /usr/local/nginx/sbin/nginx Эти 2 команды лечат Nginx /usr/local/nginx/sbin/nginx -v nginx version: nginx/1.7.4 Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252783,252875#msg-252875 From nginx-forum at nginx.us Wed Aug 27 01:13:20 2014 From: nginx-forum at nginx.us (Sarymian) Date: Tue, 26 Aug 2014 21:13:20 -0400 Subject: Nginx 1.7.4 + LibreSSL In-Reply-To: References: <20140826141612.GZ1849@mdounin.ru> <1de9d44f3b81c08398254361cf5e340d.NginxMailingListRussian@forum.nginx.org> Message-ID: <7678154a30520e6d93feb42f8e378059.NginxMailingListRussian@forum.nginx.org> Sarymian Wrote: ------------------------------------------------------- > Я вообще в шоке... хз че происходит. Но секас тот еще. Как сделать > чтобы всё работало без танцев не знаю... но: > > ldconfig > /usr/local/nginx/sbin/nginx > > Эти 2 команды лечат Nginx > > /usr/local/nginx/sbin/nginx -v > nginx version: nginx/1.7.4 Туплю. 1 команда ldconfig вылечила nginx... Уже устал просто бороться вот и туплю, на работе. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252783,252876#msg-252876 From mdounin at mdounin.ru Wed Aug 27 01:50:35 2014 From: mdounin at mdounin.ru (Maxim Dounin) Date: Wed, 27 Aug 2014 05:50:35 +0400 Subject: Nginx 1.7.4 + LibreSSL In-Reply-To: <1de9d44f3b81c08398254361cf5e340d.NginxMailingListRussian@forum.nginx.org> References: <20140826141612.GZ1849@mdounin.ru> <1de9d44f3b81c08398254361cf5e340d.NginxMailingListRussian@forum.nginx.org> Message-ID: <20140827015035.GK1849@mdounin.ru> Hello! On Tue, Aug 26, 2014 at 08:36:30PM -0400, Sarymian wrote: > Ну и опять же... > При первом варианте: > ./configure --user=www-data --group=www-data > --with-pcre=/home/install/pcre-8.35/ --with-zlib=/home/install/zlib-1.2.8/ > --with-http_ssl_module --with-cc-opt="-I > `pwd`/../libressl-2.0.5/.libressl/include" --with-ld-opt="-L > `pwd`/../libressl-2.0.5/.libressl/lib" --without-http_geo_module > --without-http_proxy_module --without-http_ssi_module > --without-http_upstream_ip_hash_module --with-http_gzip_static_module > --with-http_stub_status_module --with-ipv6 > --error-log-path=/mnt/log/nginx/error.log --without-mail_pop3_module > --without-mail_imap_module --without-mail_smtp_module > --http-log-path=/mnt/log/nginx/access.log > --http-client-body-temp-path=/mnt/log/nginx/http-temp/client_body_temp > --http-proxy-temp-path=/mnt/log/nginx/http-temp/proxy_temp > --http-fastcgi-temp-path=/mnt/log/nginx/http-temp/fastcgi_temp > --http-uwsgi-temp-path=/mnt/log/nginx/http-temp/uwsgi_temp > --http-scgi-temp-path=/mnt/log/nginx/http-temp/scgi_temp > > Ошибку дает что не может найти OpenSSL (хотя make && make install сделал). > ./configure: error: SSL modules require the OpenSSL library. > You can either do not enable the modules, or install the OpenSSL library > into the system, or build the OpenSSL library statically from the source > with nginx by using --with-openssl= option. Вероятно, вы забыли таки собрать и установить по указанному пути LibreSSL. После "./configure ..." имело смысл также запустить make и make install (а перед - почистить всё). > --with-openssl= уже задавал и как "`pwd`/../libressl-2.0.5/" и как Как уж говорилось ранее, параметр --with-openssl задавать не надо, если вы хотите собирать nginx с LibreSSL. [...] > ./configure --user=www-data --group=www-data > --with-pcre=/home/install/pcre-8.35/ --with-zlib=/home/install/zlib-1.2.8/ > --with-http_ssl_module --with-cc-opt="-I > /home/install/libressl-2.0.5/include" > --with-ld-opt="-Wl,-rpath=/home/install/libressl-2.0.5/ssl/.libs" > --without-http_geo_module --without-http_proxy_module > --without-http_ssi_module --without-http_upstream_ip_hash_module > --with-http_gzip_static_module --with-http_stub_status_module --with-ipv6 > --error-log-path=/mnt/log/nginx/error.log --without-mail_pop3_module > --without-mail_imap_module --without-mail_smtp_module > --http-log-path=/mnt/log/nginx/access.log > --http-client-body-temp-path=/mnt/log/nginx/http-temp/client_body_temp > --http-proxy-temp-path=/mnt/log/nginx/http-temp/proxy_temp > --http-fastcgi-temp-path=/mnt/log/nginx/http-temp/fastcgi_temp > --http-uwsgi-temp-path=/mnt/log/nginx/http-temp/uwsgi_temp > --http-scgi-temp-path=/mnt/log/nginx/http-temp/scgi_temp > > make и make install прошли. > > root at debian:/home/install/nginx-1.7.4# /usr/local/nginx/sbin/nginx -v > /usr/local/nginx/sbin/nginx: error while loading shared libraries: > libssl.so.27: cannot open shared object file: No such file or directory Вы забыли -L /path/to/libs в --with-ld-opt. При этом, судя по всему, в /home/install/libressl-2.0.5/ssl/.libs библиотеки нет, и rpath соответственно бесполезен, но nginx нашёл библиотеку в /usr/local/lib и собрался с ней. Что возвращает нас к проблеме загрузки динамических библиотек из нестандартного для вашей операционной системы пути, куда вы поставили LibreSSL. > Тут: > nano /etc/ld.so.conf.d/libc.conf > > Говориться смотреть библиотеки в /usr/local/lib > > ls /usr/local/lib > libcrypto.a libcrypto.la libcrypto.so libcrypto.so.30 > libcrypto.so.30.0.0 libssl.a libssl.la libssl.so libssl.so.27 > libssl.so.27.0.0 pkgconfig > > ldd /usr/local/nginx/sbin/nginx > linux-vdso.so.1 => (0x00007fffbe3ff000) > libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 > (0x00007f755ee41000) > libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 > (0x00007f755ec0a000) > libssl.so.27 => not found > libcrypto.so.30 => not found > libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f755ea05000) > libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f755e679000) > /lib64/ld-linux-x86-64.so.2 (0x00007f755f063000) > > Если я раньше хоть что-то и понимал, то сейчас я в упор нихрена не понимаю > что творится... Вы не запустили ldconfig после редактирования конфигов ld.so.conf, соответственно изменения не отразились на работе ld.so. Судя по последнему письму, вы это для себя уже открыли, но не поняли. > Кто нибудь вообще в принципе пробовал собрать с LibreSSL или объявили > возможность сборки "в принципе"? И даже исправляли то, что не собиралось. > Простите, я не хочу ни кого обижать или оскорблять, но все данным советы > похожу "а попробуйте так, может заработает" - а точных описаний как сделать > нет. Проблема, в первую очередь, в том, что вы, судя по всему, пытатесь просто делать cut-n-paste того, что вам пишут, не вникая в суть. Здесь же по умолчанию предполагается, что люди знакомы с предметной областью и осмысляют написанное. Подобное различие подходов приводит к множеству глупых ошибок - как из-за вашей собственной невнимательности, так и из-за того, что описания порой неполны, а иногда и с опечатками. Дополнительной остоты проблеме добавляет тот факт, что вы не поделились с общественностью используемой операционной системой (хотя все и догадались, что имеется в виду какая-то из вариаций Linux'а). Что до "точных описаний как сделать", то наиболее популярное доступно тут: http://button.dekel.ru/ ;) -- Maxim Dounin http://nginx.org/ From danila at shtan.ru Wed Aug 27 02:37:42 2014 From: danila at shtan.ru (Danila Shtan) Date: Wed, 27 Aug 2014 08:37:42 +0600 Subject: =?UTF-8?B?UmU6IGZhc3RjZ2kg0YDQtdC20LXRgiBQT1NUINC00L4gNjQwMDAg0LHQsNC50YIg?= =?UTF-8?B?0L/RgNC4INC/0LXRgNC10YXQvtC00LUg0LIgbmV4dCB1cHN0cmVhbQ==?= In-Reply-To: <5335028.EeENnP5ACu@vbart-laptop> References: <5335028.EeENnP5ACu@vbart-laptop> Message-ID: Спасибо, Валентин. BTW, я чего-то не понимаю, или баг действительно довольно тяжелый? В моем случае он обозначает, что для ряда запросов вне зависимости от количества бэкендов и их загруженности нужно добиваться, чтобы запрос всегда мог обработать первый бэкенд. Это немного обескураживает. Д. 2014-08-27 2:37 GMT+06:00 Валентин Бартенев : > On Tuesday 26 August 2014 23:35:06 Danila Shtan wrote: > > Полдня сегодня ловил баг, который оказался уже описан в рассылке > > (англоязычной, правда) ? > > http://forum.nginx.org/read.php?29,250947,251007#msg-251007 > > > > Суть в том, что в случае проблем на первом бэкенде, запрос перепосылается > > на второй, но содержимое POST оказывается равным ровно 64000. > > > > Насколько я понимаю, в виде "try this patch" решение пробегало, а есть > > какое-то понимание, когда оно добежит до stable? > > Увы, предложенный патч не понравилось ответственному и не был одобрен. > Придумать другое решение руки тогда не дошли. Посмотрю на досуге, что > ещё можно с этим сделать. А пока можете использовать предложенный патч. > > -- > Валентин Бартенев > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -------------- next part -------------- An HTML attachment was scrubbed... URL: From nginx-forum at nginx.us Wed Aug 27 03:00:52 2014 From: nginx-forum at nginx.us (Sarymian) Date: Tue, 26 Aug 2014 23:00:52 -0400 Subject: Nginx 1.7.4 + LibreSSL In-Reply-To: <20140827015035.GK1849@mdounin.ru> References: <20140827015035.GK1849@mdounin.ru> Message-ID: Будем так же по порядочку. > Вероятно, вы забыли таки собрать и установить по указанному пути > LibreSSL. После "./configure ..." имело смысл также запустить > make и make install (а перед - почистить всё). > > > --with-openssl= уже задавал и как "`pwd`/../libressl-2.0.5/" и как > > Как уж говорилось ранее, параметр --with-openssl задавать не надо, > если вы хотите собирать nginx с LibreSSL. Я каждый раз, откатывал виртуальную машину до чистого состояния OS (Debian) только что установленного с образа netinst. Т.е. был сделан снимок состояния на момент первого приглашения пользователя. Даже apt-get update не был еще сделан в системе. Я делал и make и make install. В этом та и вся суть, что делал, а "не работало". > > Вы забыли -L /path/to/libs в --with-ld-opt. При этом, судя по > всему, в /home/install/libressl-2.0.5/ssl/.libs библиотеки нет, и > rpath соответственно бесполезен, но nginx нашёл библиотеку в > /usr/local/lib и собрался с ней. Что возвращает нас к проблеме > загрузки динамических библиотек из нестандартного для вашей > операционной системы пути, куда вы поставили LibreSSL. Согласен про -L я забыл, я делал паралельно с основной работой, я неделю как вышел с отпуска, много накопилось. В общем завтыкал, каюсь. А вот в /home/install/libressl-2.0.5/ssl/.libs библиотеки были, это точно. Сейчас система уже раз 5 откатилась поэтому не могу привести листинг дериктории. > > Вы не запустили ldconfig после редактирования конфигов ld.so.conf, > соответственно изменения не отразились на работе ld.so. Судя по > последнему письму, вы это для себя уже открыли, но не поняли. В этом вся суть! Я НЕ правил ни чего в этих конфигах, только проверил их содержимое... надо было через cat вывести их содержимое, а не через nano чтобы не вводить в заблуждение. ldconfig я для себя не открыл, честно. Просто ld-файлы я не правил, они как были на чистой системе там и остались. Но после команды ldconfig всё заработало. У меня даже в смыслях изначально не было это проверить. > > Проблема, в первую очередь, в том, что вы, судя по всему, > пытатесь просто делать cut-n-paste того, что вам пишут, не вникая > в суть. Здесь же по умолчанию предполагается, что люди знакомы с > предметной областью и осмысляют написанное. Подобное различие > подходов приводит к множеству глупых ошибок - как из-за > вашей собственной невнимательности, так и из-за того, что описания > порой неполны, а иногда и с опечатками. Дополнительной остоты > проблеме добавляет тот факт, что вы не поделились с > общественностью используемой операционной системой (хотя все и > догадались, что имеется в виду какая-то из вариаций Linux'а). Тут я с Вами не соглашусь, ни когда CnP не занимался, а старался вникнуть в ситуацию и в суть тоже. Но тут в упор не понимаю почему не видит библиотеку в /usr/local/lib с которой он собственно и собрался, пока не сделал ld. На счет системы... сейчас перепровил, Вы правы. У меня почему-то в голове отложилось, что я в первом сообщение описал. Честно я всегда описываю исходные данные если есть проблемы. Блин это фейл... Имеем: Debian 7 - последние обновления. папку /home/install/ Права рута. Исходные коды Nginx по адресу /home/install/nginx-1.7.4 Исходные коды libressl по адресу /home/install/libressl-2.0.5 Это я писал в вопросе на "Тостере" В голове отложилось что писал. Это я сфейлил :( Сегодня попробую дома (на работе Hyper-V) на VirtualBox сделать запись видео установки что указываю нужные ключи, всё собирается но при запуске ругается на не найденные библиотеки, а после ldconfig (с учетом отсутствия правок с моей стороны) всё работает. Я уже из приницпа хочу разобраться почему так, почему собирается, а работает только после ldconfig хотя мною правки не делались. > Что до "точных описаний как сделать", то наиболее популярное > доступно тут: > > http://button.dekel.ru/ > > ;) Шутку понял :) смешно :) оценил :) > -- > Maxim Dounin > http://nginx.org/ > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252783,252879#msg-252879 From hac at citycat.ru Wed Aug 27 06:37:00 2014 From: hac at citycat.ru (=?koi8-r?B?8MHXxcwg8cvP18zF1w==?=) Date: Wed, 27 Aug 2014 10:37:00 +0400 Subject: Nginx 1.7.4 + LibreSSL In-Reply-To: <7678154a30520e6d93feb42f8e378059.NginxMailingListRussian@forum.nginx.org> References: <20140826141612.GZ1849@mdounin.ru> <1de9d44f3b81c08398254361cf5e340d.NginxMailingListRussian@forum.nginx.org> <7678154a30520e6d93feb42f8e378059.NginxMailingListRussian@forum.nginx.org> Message-ID: <949793498.20140827103700@citycat.ru> S> Sarymian Wrote: S> ------------------------------------------------------- >> Я вообще в шоке... хз че происходит. Но секас тот еще. Как сделать >> чтобы всё работало без танцев не знаю... но: >> >> ldconfig >> /usr/local/nginx/sbin/nginx >> >> Эти 2 команды лечат Nginx >> >> /usr/local/nginx/sbin/nginx -v >> nginx version: nginx/1.7.4 S> Туплю. 1 команда ldconfig вылечила nginx... S> Уже устал просто бороться вот и туплю, на работе. ldconfig лечит не nginx, а кэш динамического линкера почитайте хоть разок man ldconfig и разберитесь как это работает через /etc/ld.so.conf -- Павел Яковлев mailto: hac at citycat.ru ICQ 8085803 PPY-RIPN технический директор PY125-RIPE ЗАО "Интернет-Проекты" "Настало время смотреть вверх." Микеланджело From nginx-forum at nginx.us Wed Aug 27 11:11:25 2014 From: nginx-forum at nginx.us (Sarymian) Date: Wed, 27 Aug 2014 07:11:25 -0400 Subject: Nginx 1.7.4 + LibreSSL In-Reply-To: <949793498.20140827103700@citycat.ru> References: <949793498.20140827103700@citycat.ru> Message-ID: О боже мой... сколько еще раз я должен написать, что я не вносил изменений чтобы кеш надо было лечить. Не было изменений в данных файлах. Но сброс кеша помогает. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252783,252884#msg-252884 From marck at rinet.ru Wed Aug 27 16:55:50 2014 From: marck at rinet.ru (Dmitry Morozovsky) Date: Wed, 27 Aug 2014 20:55:50 +0400 (MSK) Subject: Nginx 1.7.4 + LibreSSL In-Reply-To: References: <949793498.20140827103700@citycat.ru> Message-ID: On Wed, 27 Aug 2014, Sarymian wrote: > О боже мой... сколько еще раз я должен написать, что я не вносил изменений > чтобы кеш надо было лечить. > Не было изменений в данных файлах. Но сброс кеша помогает. ldconfig нужен *всегда* при изменении списка динамических библиотек. другое дело, что большинство систем апдейтов-апгрейдов делают это за вас. -- Sincerely, D.Marck [DM5020, MCK-RIPE, DM3-RIPN] [ FreeBSD committer: marck at FreeBSD.org ] ------------------------------------------------------------------------ *** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- marck at rinet.ru *** ------------------------------------------------------------------------ From hac at citycat.ru Thu Aug 28 06:10:17 2014 From: hac at citycat.ru (=?koi8-r?B?8MHXxcwg8cvP18zF1w==?=) Date: Thu, 28 Aug 2014 10:10:17 +0400 Subject: Nginx 1.7.4 + LibreSSL In-Reply-To: References: <949793498.20140827103700@citycat.ru> Message-ID: <17245199.20140828101017@citycat.ru> S> О боже мой... сколько еще раз я должен написать, что я не вносил изменений S> чтобы кеш надо было лечить. пока сами не поймёте что это заблуждение вы поставили новые библиотеки которых не было в кэше и динамический линкер их не видит так как кэш устарел S> Не было изменений в данных файлах. Но сброс кеша помогает. :) -- Павел Яковлев mailto: hac at citycat.ru ICQ 8085803 PPY-RIPN технический директор PY125-RIPE ЗАО "Интернет-Проекты" "Полет - единственный достойный способ путешествия !" Братья Райт From k.osipov.msk at gmail.com Thu Aug 28 10:57:34 2014 From: k.osipov.msk at gmail.com (=?UTF-8?B?0JrQvtC90YHRgtCw0L3RgtC40L0g0J7RgdC40L/QvtCy?=) Date: Thu, 28 Aug 2014 14:57:34 +0400 Subject: =?UTF-8?B?0JrQsNC6INC/0YDQsNCy0LjQu9GM0L3QviDQv9GA0L7QutGB0LjRgNC+0LLQsNGC?= =?UTF-8?B?0Ywg0L/QtdGA0LXQvNC10L3QvdGL0LUgJGh0dHBzINC4ICRzY2hlbWU=?= Message-ID: Здравствуйте! Я не нашёл полного ответа на свой вопрос, по этому я задам его здесь. Суть проблемы с которой я столкнулся: Есть балансер на основе nginx, который проксирует http и https соединения на backend сервера (то же nginx). Вне зависимости от того пришёл ли на балансер http или https запрос я проксирую его на бэкэнд по http. Всё работает, но на бэкэндах я не могу определить, какой запрос пришёл на балансер http или https. Переменная $https всегда пустая, а $scheme всегда имеет занчение "http". Соответственно мне нужно как то проксировать переменные $https и $scheme. Я делаю это так: На балансере: location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; # тут проксируем переменную $scheme proxy_set_header X-Forwarded-Proto $scheme; proxy_connect_timeout 120; proxy_send_timeout 120; proxy_read_timeout 180; } На бэкэнде: В секцию http добавляю: map $http_x_forwarded_proto $https { default ''; https on; } map $http_x_forwarded_proto $scheme { default http; https https; } Но это не работает: nginx: [emerg] the duplicate "https" variable in /usr/local/etc/nginx/nginx.conf:39 Не работает видимо по тому что нельзя изменять переменные $https и $scheme. Можно было бы сделать так: map $http_x_forwarded_proto $fastcgi_https { default ''; https on; } map $http_x_forwarded_proto $fastcgi_scheme { default http; https https; } Но я не хотел бы использовать не стандартные переменные потому что ниже в секции location я использую переменные $https и $scheme в множестве правил с rewrite. Не стандартные переменные создадут неудобства в случае если конфигурация изменится. Подскажите пожалуйста как правильно решить мою задачу? Спасибо. -------------- next part -------------- An HTML attachment was scrubbed... URL: From nginx-forum at nginx.us Thu Aug 28 11:10:43 2014 From: nginx-forum at nginx.us (skeletor) Date: Thu, 28 Aug 2014 07:10:43 -0400 Subject: =?UTF-8?B?cmV3cml0ZSDQuCDQv9Cw0YDQsNC80LXRgtGA0YsgJDEsICQyLCAuLi4=?= Message-ID: <45500c70c02c96f4b94612c471b0239d.NginxMailingListRussian@forum.nginx.org> В документации по rewrite-модулю нашёл такой пример: location /download/ { rewrite ^(/download/.*)/media/(.*)\..*$ $1/mp3/$2.mp3 break; rewrite ^(/download/.*)/audio/(.*)\..*$ $1/mp3/$2.ra break; return 403; } Что означают $1, $2? Можно пример запроса? Спасибо. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252919,252919#msg-252919 From sytar.alex at gmail.com Thu Aug 28 11:22:58 2014 From: sytar.alex at gmail.com (Aleksandr Sytar) Date: Thu, 28 Aug 2014 15:22:58 +0400 Subject: =?UTF-8?B?UmU6IHJld3JpdGUg0Lgg0L/QsNGA0LDQvNC10YLRgNGLICQxLCAkMiwgLi4u?= In-Reply-To: <45500c70c02c96f4b94612c471b0239d.NginxMailingListRussian@forum.nginx.org> References: <45500c70c02c96f4b94612c471b0239d.NginxMailingListRussian@forum.nginx.org> Message-ID: 28 августа 2014 г., 15:10 пользователь skeletor написал: > В документации по rewrite-модулю нашёл такой пример: > > location /download/ { > rewrite ^(/download/.*)/media/(.*)\..*$ $1/mp3/$2.mp3 break; > rewrite ^(/download/.*)/audio/(.*)\..*$ $1/mp3/$2.ra break; > return 403; > } > > Что означают $1, $2? Можно пример запроса? > Спасибо. > http://www.regular-expressions.info/ From sejo412 at gmail.com Thu Aug 28 11:41:58 2014 From: sejo412 at gmail.com (=?UTF-8?B?0KHQuNC90LjRhtC60LjQuSDQn9Cw0LLQtdC7INCV0LLQs9C10L3RjNC10LLQuNGH?=) Date: Thu, 28 Aug 2014 15:41:58 +0400 Subject: proxy if cookie + map Message-ID: Добрый день, Ситуация следующая: имеется боевой сервер в связке nginx + php-fpm + новая версия сайта на соседнем сервере, на котором тоже крутится nginx и php-fpm. Задача такова: на боевом сервере настроить проксирование на новую версию сайта в зависимости от установленной у посетителя куки. Сложность в том, что в блок if нельзя завернуть proxy_set_header - на форумах советуют для этих целей использовать map с сопутствующей ссылкой на http://nginx.org/ru/docs/http/ngx_http_map_module.html. Никак не могу понять, как обойтись без if, а только map в моем случае? Другими словами, конструкция ниже работает только для внутренней сети (в логах браузера идет подгрузка с ip 192.168.2.146). server { ... if ($http_cookie ~ 'newsitetest') { set $newsite 1; } ... location ~* ^/(.+)$ { if ($newsite = 1) { proxy_pass http://192.168.2.146; break; } try_files $uri $uri/ /not_found.php?query_uri=/$1&$args; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.html; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } -- С уважением -------------- next part -------------- An HTML attachment was scrubbed... URL: From vbart at nginx.com Thu Aug 28 12:33:53 2014 From: vbart at nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Thu, 28 Aug 2014 16:33:53 +0400 Subject: =?UTF-8?B?UmU6INCa0LDQuiDQv9GA0LDQstC40LvRjNC90L4g0L/RgNC+0LrRgdC40YDQvtCy?= =?UTF-8?B?0LDRgtGMINC/0LXRgNC10LzQtdC90L3Ri9C1ICRodHRwcyDQuCAkc2NoZW1l?= In-Reply-To: References: Message-ID: <1662913.4FxMA4SiMq@vbart-workstation> On Thursday 28 August 2014 14:57:34 Константин Осипов wrote: [..] > Не работает видимо по тому что нельзя изменять переменные $https и $scheme. > > Можно было бы сделать так: > map $http_x_forwarded_proto $fastcgi_https { > default ''; > https on; > } > > map $http_x_forwarded_proto $fastcgi_scheme { > default http; > https https; > } > > Но я не хотел бы использовать не стандартные переменные потому что ниже в > секции location я использую переменные $https и $scheme в множестве правил > с rewrite. Не стандартные переменные создадут неудобства в случае если > конфигурация изменится. Какие неудобства? Один раз выполнить команду поиск'и'замена - вот и всё неудобство. > > Подскажите пожалуйста как правильно решить мою задачу? > Спасибо. > Правильно оставить стандартные переменные в покое. Они определяют как запрос пришел к nginx, а он у вас приходит всегда без шифрования. У вас же другая задача, узнать, как запрос пришел на балансировщик, и для этой задачи нужно использовать другие переменные. И хорошо, что в вашей конфигурации будет это явно отражено, а не завуалированно в виде явного или неявного переопределения стандартных переменных. -- Валентин Бартенев From chipitsine at gmail.com Thu Aug 28 12:39:26 2014 From: chipitsine at gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Thu, 28 Aug 2014 18:39:26 +0600 Subject: proxy if cookie + map In-Reply-To: References: Message-ID: мы так делаем map $http_cookie $u { default old; ~new-int-rel new; } upstream old { least_conn; server xxx1; server xxx2; server xxx3; keepalive 10; } upstream new { least_conn; server xxx1:8585; server xxx2:8585; server xxx3:8585; keepalive 10; } ...... proxy_pass http://$u; у вас, видимо, будет, fastcgi вместо http 28 августа 2014 г., 17:41 пользователь Синицкий Павел Евгеньевич написал: > Добрый день, > > Ситуация следующая: имеется боевой сервер в связке nginx + php-fpm + новая > версия сайта на соседнем сервере, на котором тоже крутится nginx и php-fpm. > Задача такова: на боевом сервере настроить проксирование на новую версию > сайта в зависимости от установленной у посетителя куки. > > Сложность в том, что в блок if нельзя завернуть proxy_set_header - на > форумах советуют для этих целей использовать map с сопутствующей ссылкой на > http://nginx.org/ru/docs/http/ngx_http_map_module.html. Никак не могу > понять, как обойтись без if, а только map в моем случае? > > Другими словами, конструкция ниже работает только для внутренней сети (в > логах браузера идет подгрузка с ip 192.168.2.146). > > server { > ... > if ($http_cookie ~ 'newsitetest') { > set $newsite 1; > } > ... > location ~* ^/(.+)$ { > > if ($newsite = 1) { > proxy_pass http://192.168.2.146; > break; > } > try_files $uri $uri/ /not_found.php?query_uri=/$1&$args; > fastcgi_pass 127.0.0.1:9000; > fastcgi_index index.html; > include fastcgi_params; > fastcgi_param SCRIPT_FILENAME > $document_root$fastcgi_script_name; > } > } > > -- > > С уважением > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From vbart at nginx.com Thu Aug 28 12:41:20 2014 From: vbart at nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Thu, 28 Aug 2014 16:41:20 +0400 Subject: proxy if cookie + map In-Reply-To: References: Message-ID: <5203153.OspDJ0VUgs@vbart-workstation> On Thursday 28 August 2014 15:41:58 Синицкий Павел Евгеньевич wrote: > Добрый день, > > Ситуация следующая: имеется боевой сервер в связке nginx + php-fpm + новая > версия сайта на соседнем сервере, на котором тоже крутится nginx и php-fpm. > Задача такова: на боевом сервере настроить проксирование на новую версию > сайта в зависимости от установленной у посетителя куки. > > Сложность в том, что в блок if нельзя завернуть proxy_set_header - на > форумах советуют для этих целей использовать map с сопутствующей ссылкой на > http://nginx.org/ru/docs/http/ngx_http_map_module.html. Никак не могу > понять, как обойтись без if, а только map в моем случае? > > Другими словами, конструкция ниже работает только для внутренней сети (в > логах браузера идет подгрузка с ip 192.168.2.146). > > server { > ... > if ($http_cookie ~ 'newsitetest') { > set $newsite 1; > } > ... > location ~* ^/(.+)$ { > > if ($newsite = 1) { > proxy_pass http://192.168.2.146; > break; > } > try_files $uri $uri/ /not_found.php?query_uri=/$1&$args; > fastcgi_pass 127.0.0.1:9000; > fastcgi_index index.html; > include fastcgi_params; > fastcgi_param SCRIPT_FILENAME > $document_root$fastcgi_script_name; > } > } > location / { if ($http_cookie_newsitetest) { rewrite ^ /newsite/$uri last; } fastcgi_pass 127.0.0.1:9000; } location /newsite/ { proxy_pass http://192.168.2.146/; } -- Валентин Бартенев From mdounin at mdounin.ru Thu Aug 28 13:42:08 2014 From: mdounin at mdounin.ru (Maxim Dounin) Date: Thu, 28 Aug 2014 17:42:08 +0400 Subject: =?UTF-8?B?UmU6IHJld3JpdGUg0Lgg0L/QsNGA0LDQvNC10YLRgNGLICQxLCAkMiwgLi4u?= In-Reply-To: <45500c70c02c96f4b94612c471b0239d.NginxMailingListRussian@forum.nginx.org> References: <45500c70c02c96f4b94612c471b0239d.NginxMailingListRussian@forum.nginx.org> Message-ID: <20140828134208.GH1849@mdounin.ru> Hello! On Thu, Aug 28, 2014 at 07:10:43AM -0400, skeletor wrote: > В документации по rewrite-модулю нашёл такой пример: > > location /download/ { > rewrite ^(/download/.*)/media/(.*)\..*$ $1/mp3/$2.mp3 break; > rewrite ^(/download/.*)/audio/(.*)\..*$ $1/mp3/$2.ra break; > return 403; > } > > Что означают $1, $2? Можно пример запроса? > Спасибо. Рядом, в описании директивы if, это расписано: : В регулярных выражениях можно использовать выделения, которые : затем доступны в виде переменных $1..$9. http://nginx.org/ru/docs/http/ngx_http_rewrite_module.html#if Ну а вообще, как уже верно заметили, обращение к выделениям из регулярного выражения через переменные $1 и т.п. - это общая концепция во множестве мест. -- Maxim Dounin http://nginx.org/ From nginx-forum at nginx.us Thu Aug 28 13:46:51 2014 From: nginx-forum at nginx.us (skeletor) Date: Thu, 28 Aug 2014 09:46:51 -0400 Subject: =?UTF-8?B?UmU6IHJld3JpdGUg0Lgg0L/QsNGA0LDQvNC10YLRgNGLICQxLCAkMiwgLi4u?= In-Reply-To: <20140828134208.GH1849@mdounin.ru> References: <20140828134208.GH1849@mdounin.ru> Message-ID: <154b93f12ef996578999ce1e5c9a5f9d.NginxMailingListRussian@forum.nginx.org> Спасибо, теперь понятно. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252919,252926#msg-252926 From ppb at valuehost.ru Thu Aug 28 13:50:53 2014 From: ppb at valuehost.ru (Peter B. Pokryshev) Date: Thu, 28 Aug 2014 17:50:53 +0400 Subject: =?UTF-8?B?UmU6IHJld3JpdGUg0Lgg0L/QsNGA0LDQvNC10YLRgNGLICQxLCAkMiwgLi4u?= In-Reply-To: <20140828134208.GH1849@mdounin.ru> References: <45500c70c02c96f4b94612c471b0239d.NginxMailingListRussian@forum.nginx.org> <20140828134208.GH1849@mdounin.ru> Message-ID: <20140828175053.6f145a002d43614953dbbd07@valuehost.ru> On Thu, 28 Aug 2014 17:42:08 +0400 Maxim Dounin wrote: > Hello! > > On Thu, Aug 28, 2014 at 07:10:43AM -0400, skeletor wrote: > > > В документации по rewrite-модулю нашёл такой пример: > > > > location /download/ { > > rewrite ^(/download/.*)/media/(.*)\..*$ $1/mp3/$2.mp3 break; > > rewrite ^(/download/.*)/audio/(.*)\..*$ $1/mp3/$2.ra break; > > return 403; > > } > > > > Что означают $1, $2? Можно пример запроса? > > Спасибо. > > Рядом, в описании директивы if, это расписано: > > : В регулярных выражениях можно использовать выделения, которые > : затем доступны в виде переменных $1..$9. > Кстати для тех кто не знаком с регулярными выражениями, слово "выделения" не совсем очевидны в мануале :) > http://nginx.org/ru/docs/http/ngx_http_rewrite_module.html#if > > Ну а вообще, как уже верно заметили, обращение к выделениям из > регулярного выражения через переменные $1 и т.п. - это общая > концепция во множестве мест. > > -- > Maxim Dounin > http://nginx.org/ > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Peter B. Pokryshev From nginx-forum at nginx.us Thu Aug 28 14:01:46 2014 From: nginx-forum at nginx.us (sejo412) Date: Thu, 28 Aug 2014 10:01:46 -0400 Subject: proxy if cookie + map In-Reply-To: References: Message-ID: <751df4b5c6acd6ff87693290a867bb86.NginxMailingListRussian@forum.nginx.org> К сожалению необходимо в первом случае проксировать fstcgi, а при обращении к тестовому (если есть кука) проксировать по http Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252921,252928#msg-252928 From mdounin at mdounin.ru Thu Aug 28 14:30:18 2014 From: mdounin at mdounin.ru (Maxim Dounin) Date: Thu, 28 Aug 2014 18:30:18 +0400 Subject: =?UTF-8?B?UmU6IHJld3JpdGUg0Lgg0L/QsNGA0LDQvNC10YLRgNGLICQxLCAkMiwgLi4u?= In-Reply-To: <20140828175053.6f145a002d43614953dbbd07@valuehost.ru> References: <45500c70c02c96f4b94612c471b0239d.NginxMailingListRussian@forum.nginx.org> <20140828134208.GH1849@mdounin.ru> <20140828175053.6f145a002d43614953dbbd07@valuehost.ru> Message-ID: <20140828143017.GJ1849@mdounin.ru> Hello! On Thu, Aug 28, 2014 at 05:50:53PM +0400, Peter B. Pokryshev wrote: > On Thu, 28 Aug 2014 17:42:08 +0400 > Maxim Dounin wrote: > > > Hello! > > > > On Thu, Aug 28, 2014 at 07:10:43AM -0400, skeletor wrote: > > > > > В документации по rewrite-модулю нашёл такой пример: > > > > > > location /download/ { > > > rewrite ^(/download/.*)/media/(.*)\..*$ $1/mp3/$2.mp3 break; > > > rewrite ^(/download/.*)/audio/(.*)\..*$ $1/mp3/$2.ra break; > > > return 403; > > > } > > > > > > Что означают $1, $2? Можно пример запроса? > > > Спасибо. > > > > Рядом, в описании директивы if, это расписано: > > > > : В регулярных выражениях можно использовать выделения, которые > > : затем доступны в виде переменных $1..$9. > > > > Кстати для тех кто не знаком с регулярными выражениями, слово "выделения" > не совсем очевидны в мануале :) Технические термины на русском - порой доставляют, да. Для душевного спокойствия - я лично предпочитаю документацию на английском языке. :) -- Maxim Dounin http://nginx.org/ From nginx-forum at nginx.us Thu Aug 28 14:36:36 2014 From: nginx-forum at nginx.us (sejo412) Date: Thu, 28 Aug 2014 10:36:36 -0400 Subject: proxy if cookie + map In-Reply-To: <5203153.OspDJ0VUgs@vbart-workstation> References: <5203153.OspDJ0VUgs@vbart-workstation> Message-ID: Спасибо, решение уже где-то рядом ) На боевом сервере за все отвечает php-скрипт. Сделал так: location / { if ($http_cookie ~ 'newsitetest') { rewrite ^ /newsite/$uri last; } rewrite / /not_found.php?query_uri=/&$args; } location ~* ^/(.+)$ { if ($http_cookie ~ 'newsitetest') { rewrite ^ /newsite/$uri last; } try_files $uri $uri/ /not_found.php?query_uri=/$1&$args; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.html; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param QWERTY $document_root$fastcgi_script_name; } location /newsite/ { proxy_pass http://192.168.2.146; proxy_http_version 1.1; proxy_set_header Connection ""; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } После установки куки браузер выдает 500 ошибку, в логах nginx (который проксирует) ругань на циклический редирект 2014/08/28 18:21:51 [error] 19193#0: *454 rewrite or internal redirection cycle while processing "/newsite//newsite//newsite//newsite//newsite//newsite//newsite//newsite//newsite//newsite//not_found.php" Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252921,252930#msg-252930 From vbart at nginx.com Thu Aug 28 16:27:33 2014 From: vbart at nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Thu, 28 Aug 2014 20:27:33 +0400 Subject: proxy if cookie + map In-Reply-To: References: <5203153.OspDJ0VUgs@vbart-workstation> Message-ID: <1819079.N6TpEBNFoT@vbart-workstation> On Thursday 28 August 2014 10:36:36 sejo412 wrote: > Спасибо, решение уже где-то рядом ) > На боевом сервере за все отвечает php-скрипт. > Сделал так: > location / { > if ($http_cookie ~ 'newsitetest') { Зачем так усложнять. В nginx есть специальные переменные для работы с куками: $cookie_*. К изучению: http://nginx.org/ru/docs/http/ngx_http_core_module.html#variables > rewrite ^ /newsite/$uri last; > } > rewrite / /not_found.php?query_uri=/&$args; > } > > location ~* ^/(.+)$ { Вам не нужен этот location с регуляркой. > if ($http_cookie ~ 'newsitetest') { > rewrite ^ /newsite/$uri last; > } > > try_files $uri $uri/ /not_found.php?query_uri=/$1&$args; > fastcgi_pass 127.0.0.1:9000; > fastcgi_index index.html; > include fastcgi_params; > fastcgi_param SCRIPT_FILENAME > $document_root$fastcgi_script_name; > fastcgi_param QWERTY $document_root$fastcgi_script_name; > } > > location /newsite/ { > proxy_pass http://192.168.2.146; Есть большая разница между: proxy_pass http://192.168.2.146; и proxy_pass http://192.168.2.146/; К изучению: http://nginx.org/r/proxy_pass/ru > proxy_http_version 1.1; > proxy_set_header Connection ""; > proxy_set_header Host $host; > proxy_set_header X-Real-IP $remote_addr; > proxy_set_header X-Forwarded-For > $proxy_add_x_forwarded_for; > } > > После установки куки браузер выдает 500 ошибку, в логах nginx (который > проксирует) ругань на циклический редирект > 2014/08/28 18:21:51 [error] 19193#0: *454 rewrite or internal redirection > cycle while processing > "/newsite//newsite//newsite//newsite//newsite//newsite//newsite//newsite//newsite//newsite//not_found.php" > Ваш конфиг целиком должен выглядеть так: location / { if ($cookie_newsitetest) { rewrite ^ /newsite/$uri last; } try_files $uri $uri/ /not_found.php?query_uri=$uri&$args; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.html; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param QWERTY $document_root$fastcgi_script_name; } location /newsite/ { internal; proxy_pass http://192.168.2.146/; proxy_http_version 1.1; proxy_set_header Connection ""; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } -- Валентин Бартенев From sejo412 at gmail.com Fri Aug 29 12:55:25 2014 From: sejo412 at gmail.com (=?UTF-8?B?0KHQuNC90LjRhtC60LjQuSDQn9Cw0LLQtdC7INCV0LLQs9C10L3RjNC10LLQuNGH?=) Date: Fri, 29 Aug 2014 16:55:25 +0400 Subject: proxy if cookie + map In-Reply-To: <1819079.N6TpEBNFoT@vbart-workstation> References: <5203153.OspDJ0VUgs@vbart-workstation> <1819079.N6TpEBNFoT@vbart-workstation> Message-ID: Большое спасибо! Получилось. >> Вам не нужен этот location с регуляркой. Попытался избавиться, сходу не получилось. Еще покурил мануалы, сделал location ^~ /newsite/ - перестало впадать в цикл и заработало. 28 августа 2014 г., 20:27 пользователь Валентин Бартенев написал: > On Thursday 28 August 2014 10:36:36 sejo412 wrote: > > Спасибо, решение уже где-то рядом ) > > На боевом сервере за все отвечает php-скрипт. > > Сделал так: > > location / { > > if ($http_cookie ~ 'newsitetest') { > > Зачем так усложнять. > В nginx есть специальные переменные для работы с куками: $cookie_*. > > К изучению: > http://nginx.org/ru/docs/http/ngx_http_core_module.html#variables > > > > rewrite ^ /newsite/$uri last; > > } > > rewrite / /not_found.php?query_uri=/&$args; > > } > > > > location ~* ^/(.+)$ { > > Вам не нужен этот location с регуляркой. > > > > if ($http_cookie ~ 'newsitetest') { > > rewrite ^ /newsite/$uri last; > > } > > > > try_files $uri $uri/ /not_found.php?query_uri=/$1&$args; > > fastcgi_pass 127.0.0.1:9000; > > fastcgi_index index.html; > > include fastcgi_params; > > fastcgi_param SCRIPT_FILENAME > > $document_root$fastcgi_script_name; > > fastcgi_param QWERTY $document_root$fastcgi_script_name; > > } > > > > location /newsite/ { > > proxy_pass http://192.168.2.146; > > Есть большая разница между: > > proxy_pass http://192.168.2.146; > > и > > proxy_pass http://192.168.2.146/; > > К изучению: http://nginx.org/r/proxy_pass/ru > > > proxy_http_version 1.1; > > proxy_set_header Connection ""; > > proxy_set_header Host $host; > > proxy_set_header X-Real-IP $remote_addr; > > proxy_set_header X-Forwarded-For > > $proxy_add_x_forwarded_for; > > } > > > > После установки куки браузер выдает 500 ошибку, в логах nginx (который > > проксирует) ругань на циклический редирект > > 2014/08/28 18:21:51 [error] 19193#0: *454 rewrite or internal redirection > > cycle while processing > > > > "/newsite//newsite//newsite//newsite//newsite//newsite//newsite//newsite//newsite//newsite//not_found.php" > > > > Ваш конфиг целиком должен выглядеть так: > > location / { > > if ($cookie_newsitetest) { > rewrite ^ /newsite/$uri last; > } > > try_files $uri $uri/ /not_found.php?query_uri=$uri&$args; > > fastcgi_pass 127.0.0.1:9000; > fastcgi_index index.html; > > include fastcgi_params; > fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; > fastcgi_param QWERTY $document_root$fastcgi_script_name; > } > > location /newsite/ { > internal; > > proxy_pass http://192.168.2.146/; > proxy_http_version 1.1; > > proxy_set_header Connection ""; > proxy_set_header Host $host; > proxy_set_header X-Real-IP $remote_addr; > proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; > } > > -- > Валентин Бартенев > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -- С уважением, Синицкий Павел Евгеньевич гр. *ПИЭ91зи/04* тел. +79647994159 -------------- next part -------------- An HTML attachment was scrubbed... URL: From nginx-forum at nginx.us Sat Aug 30 11:58:39 2014 From: nginx-forum at nginx.us (Asterics) Date: Sat, 30 Aug 2014 07:58:39 -0400 Subject: =?UTF-8?B?0KPRgdGC0LDQvdC+0LLQutCwIGNvb2tpZSDRh9C10YDQtdC3IGhlYWRlciBuZ2lu?= =?UTF-8?B?eA==?= Message-ID: <9ea597b9342045aca02d3e8741ca32e1.NginxMailingListRussian@forum.nginx.org> в контексте server одного из сайтов пытаюсь писать следующее location ~* (^.*tracker.*$) { add_header Set-Cookie lcid=0000; } те установить кук ... если в урле будет слово tracker. Куку ставит но почему то вместо исполнения скрипта php браузеру предлагается скачать его. Я понимаю что нарушил что то в заголовке. Не могли бы вы поправить? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252957,252957#msg-252957 From nginx-ru at sadok.spb.ru Sat Aug 30 12:21:53 2014 From: nginx-ru at sadok.spb.ru (Dmitry Ivanov) Date: Sat, 30 Aug 2014 16:21:53 +0400 Subject: =?UTF-8?B?UmU6INCj0YHRgtCw0L3QvtCy0LrQsCBjb29raWUg0YfQtdGA0LXQtyBoZWFkZXIg?= =?UTF-8?B?bmdpbng=?= In-Reply-To: <9ea597b9342045aca02d3e8741ca32e1.NginxMailingListRussian@forum.nginx.org> References: <9ea597b9342045aca02d3e8741ca32e1.NginxMailingListRussian@forum.nginx.org> Message-ID: <773658375.20140830162153@sadok.spb.ru> Здравствуйте, Asterics. Вы писали 30 августа 2014 г., 15:58:39: > в контексте server одного из сайтов пытаюсь писать следующее > location ~* (^.*tracker.*$) { > add_header Set-Cookie lcid=0000; > } > те установить кук ... если в урле будет слово tracker. Куку ставит но почему > то вместо исполнения скрипта php браузеру предлагается скачать его. Я > понимаю что нарушил что то в заголовке. Не могли бы вы поправить? Кусочек про php из основного конфига повторите в этом location - должно заработать -- С уважением, Dmitry mailto:nginx-ru at sadok.spb.ru From nginx-forum at nginx.us Sat Aug 30 12:26:01 2014 From: nginx-forum at nginx.us (Asterics) Date: Sat, 30 Aug 2014 08:26:01 -0400 Subject: =?UTF-8?B?UmU6INCj0YHRgtCw0L3QvtCy0LrQsCBjb29raWUg0YfQtdGA0LXQtyBoZWFkZXIg?= =?UTF-8?B?bmdpbng=?= In-Reply-To: <773658375.20140830162153@sadok.spb.ru> References: <773658375.20140830162153@sadok.spb.ru> Message-ID: да спасибо все заработало :) Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252957,252959#msg-252959 From nginx-forum at nginx.us Sat Aug 30 23:52:05 2014 From: nginx-forum at nginx.us (Asterics) Date: Sat, 30 Aug 2014 19:52:05 -0400 Subject: =?UTF-8?B?R0VPSVAgQ09VTlRSWSBFRElUSU9OIGFscmVhZHkgZGVmaW5lZCDQutCw0Log0Lg=?= =?UTF-8?B?0LfQsdCw0LLQuNGC0YzRgdGPPw==?= Message-ID: <718dec458dbf0639b25d79e691e4fe46.NginxMailingListRussian@forum.nginx.org> Notice: Constant GEOIP_COUNTRY_EDITION already defined in /home/myuser/www/geo/geoip.inc on line 0 ... скрипт php кодированый, те в тело войти не могу ... там рядом лежит база максимайнда, видимо на прямую использует сам. Но константы уже заняты. Как мне не отдавать или уничтожить эти константы для определенной папки домена через конфиг nginx? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252962,252962#msg-252962 From nginx-forum at nginx.us Sun Aug 31 00:05:09 2014 From: nginx-forum at nginx.us (Asterics) Date: Sat, 30 Aug 2014 20:05:09 -0400 Subject: =?UTF-8?B?UmU6IEdFT0lQIENPVU5UUlkgRURJVElPTiBhbHJlYWR5IGRlZmluZWQg0LrQsNC6?= =?UTF-8?B?INC40LfQsdCw0LLQuNGC0YzRgdGPPw==?= In-Reply-To: <718dec458dbf0639b25d79e691e4fe46.NginxMailingListRussian@forum.nginx.org> References: <718dec458dbf0639b25d79e691e4fe46.NginxMailingListRussian@forum.nginx.org> Message-ID: <4c0c2d5d6982357b2cac0d739d01fa3d.NginxMailingListRussian@forum.nginx.org> пока временно решил отключением php5-geoip, но как то это не верно :) Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252962,252963#msg-252963 From stalker at altlinux.ru Sun Aug 31 07:14:49 2014 From: stalker at altlinux.ru (Anton Gorlov) Date: Sun, 31 Aug 2014 11:14:49 +0400 Subject: =?UTF-8?B?UmU6IEdFT0lQIENPVU5UUlkgRURJVElPTiBhbHJlYWR5IGRlZmluZWQg0LrQsNC6?= =?UTF-8?B?INC40LfQsdCw0LLQuNGC0YzRgdGPPw==?= In-Reply-To: <718dec458dbf0639b25d79e691e4fe46.NginxMailingListRussian@forum.nginx.org> References: <718dec458dbf0639b25d79e691e4fe46.NginxMailingListRussian@forum.nginx.org> Message-ID: <5402CB69.3030706@altlinux.ru> Через конфиг никак. Скорее всего у вас стоит php-geoip и в самом сайте ещё аналог онного на php. Лечится или правкой кода конкретного сайта или удалением экстеншена php-geoip 31.08.2014 03:52, Asterics пишет: > Notice: Constant GEOIP_COUNTRY_EDITION already defined in > /home/myuser/www/geo/geoip.inc on line 0 > ... > скрипт php кодированый, те в тело войти не могу ... там рядом лежит база > максимайнда, видимо на прямую использует сам. Но константы уже заняты. Как > мне не отдавать или уничтожить эти константы для определенной папки домена > через конфиг nginx?