Re: Проблема с апстримами

2019-06-05 Пенетрантность Maxim Dounin
Hello!

On Wed, Jun 05, 2019 at 04:12:39AM -0400, avinchakov wrote:

> Всем привет, уже долго время пытаюсь найти причину постоянных ошибок "no
> live upstreams while connecting to upstream". Флоу такой:
> Интернет->"Балансер" с nginx->Сервера с приложением Nginx+FPM в другой
> подсети.

Причина ошибок "no live upstreams ..." - в том, что все бэкенды 
выключены из-за ранее прозошедших ошибок, в соответствии с 
max_fails / fail_timeout в конфигурации.  Ищите, какие ошибки были 
до этого.

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

Re: Как декодировать url windows-1251?

2019-06-05 Пенетрантность Andrey Kopeyko

gont писал 2019-06-05 03:27:
Есть программа для скачивания файлов updater.exe она обращается на сайт 
к

файлу patchlist.xml
внутри patchlist.xml ссылки на файлы которые на русском языке, файл
patchlist.xml в кодировке windows-1251,
файлы не скачивает потому как их не находит на сервере, если поменять
кодировку patchlist.xml на utf8 то файлы качает,
но их сохраняет с названиями крякозябры (РЁРёСЂРѕРєР), видел хостинг на
котором работает всё нормально файл patchlist.xml у них в windows-1251 
и

качаются файлы.


Добрый день!

Дабы браузер сохранял файл под нужным вам именем - требуется выдавать 
заголовок "Content-Disposition: ", примерно так


location / {
  root  /path/to/root;
  add_header 'Content-Disposition' 'attachment; 
filename=$filename_utf8';

}

Что бы всё работало надо как то что бы сервер нормально декодировал url 
в

кодировке windows-1251.


"Имя файла в кодировке uft8" -
- вы можете выбирать по пре-геренённой мапе (если файлов небольшое 
количество)
- или перекодировать на лету из имени запрашиваемого файла (используя 
либо встроенные perl, lua, либо получая с бэкенда на любом удобном вам 
языке)



--
Best regards,
Andrey A. Kopeyko 
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Проблема с апстримами

2019-06-05 Пенетрантность avinchakov
Всем привет, уже долго время пытаюсь найти причину постоянных ошибок "no
live upstreams while connecting to upstream". Флоу такой:
Интернет->"Балансер" с nginx->Сервера с приложением Nginx+FPM в другой
подсети.

Основаная часть конфига "Балансера":
location / {
proxy_pass   http://ps1;
proxy_next_upstream  error timeout http_500 http_502;
include  /etc/nginx/proxy_params;
proxy_set_header X-HTTPS $https;
}

proxy_param:
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-SSL-Protocol $ssl_protocol;

upstreams:
upstream ps1 {
server server1.local  max_fails=1 fail_timeout=15s; 
server server2.local  max_fails=1 fail_timeout=15s backup;
}

Конфиг сервера с приложением:
location ~ \.php$ {
  
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_indexindex.php;
include  fastcgi_params;
fastcgi_paramSCRIPT_FILENAME 
$realpath_root$fastcgi_script_name;
fastcgi_paramDOCUMENT_ROOT$realpath_root;
  
fastcgi_intercept_errors on;
fastcgi_ignore_client_abort  off;
fastcgi_connect_timeout  60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size  128k;
fastcgi_buffers  4 256k;
fastcgi_busy_buffers_size256k;
fastcgi_temp_file_write_size 256k;
  }


Трафика немного, порядка 5rps. Коннектов в среднем держится 30. FPM воркеров
тотал 35 но никогда больше половины не используется. 
Ошибки только на балансере, на nginx самого приложения никаких ошибок нет.
Сетевых проблем тоже не видно, ни на интерфейсах серверов ни на активном
оборудовании.
Подскажите пожалуйста как можно отловить причину ошибки. Спасибо.

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,284459,284459#msg-284459

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