Re: $realip_remote_addr выдает айпи прокси а не клиента
Здравствуйте, Андрей. Вы писали 24 января 2016 г., 4:45:36: > В конфиге прописано: > real_ip_header X-Forwarded-For; > real_ip_recursive on; > set_real_ip_from 94.23.0.0/16; > proxy_set_header X-Real-IP$realip_remote_addr; > proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; > На бэкнде получаю в X_REAL_IP айпи прокси а не клиента: > [HTTP_X_REAL_IP] => 94.23.156.246 > [HTTP_X_FORWARDED_FOR] => 176.104.49.220, 94.23.156.246 > [REMOTE_ADDR] => 94.23.156.246 > Кто виноват и что делать? Всё работает так, как вы указали в конфигурации. Цитирую http://nginx.org/ru/docs/http/ngx_http_realip_module.html : $realip_remote_addr - хранит исходный адрес клиента (1.9.7) В данном случае клиентом является то, что соединилось с nginx, т.е. прокси. Вам следует использовать переменную $remote_addr: proxy_set_header X-Real-IP $remote_addr; Возможно также, что директива "proxy_set_header X-Forwarded-For " совсем не нужна, чаще всего это наследие копипаста. Для получения IP реального клиента достаточно X-Real-IP. -- С уважением, Pavel mailto:pavel2...@ngs.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
разный expires для расширений и без location
Добрый день уважаемые! Подскажите существует ли метод назначать разные expires для разных расширений файлов без использования разных location для этого. Знаю что в if не обернуть. Есть ли альтернатива? Ситуация побробнее: Существует location в котором установлены различные lua обработчики и переменные. И очень не хотелось бы плодить одно и тоже в разных location только из за пары ключей expires и кэшконтроля. Пример location который очень не хочется плодить, так как в дальнейшем сложно будет отслеживать изменения конфиг множества подобий. location / { limit_req zone=itcod burst=200 nodelay; limit_rate 2048k; set $auth_dav private; #none/private access_by_lua_file /etc/nginx/lua/auth-dav.lua; dav_methods PUT DELETE MKCOL COPY MOVE; dav_ext_methods PROPFIND OPTIONS; create_full_put_path on; dav_access user:rw group:rw; client_body_temp_path /opt/itcod-dav.tmp/; client_max_body_size 0; autoindex on; root $dir; header_filter_by_lua_file /etc/nginx/lua/itcod-exchange.lua; set $md5index on; #on/off nil=off # вкл/выкл обработчик set $md5index_hash md5; #none/md5/md4/sha1/sha/ripemd160 nil=none # тип выводых хэшей set $md5index_size 5; #kb nil=unlimit # не считать для файлов более N kb set $md5index_path on; #on/off nil=off # заменять относительный путь ссылок на полный URI set $md5index_nonblank on; #on/off nil=off # заменить множественные пробелы одним set $md5index_type on; #on/off nil=off # добавит в строки описание типа file/directory/etc... set $md5index_ico http://ihome.itcod.com/max/projects/libs/icons16ext/; # путь к библиотека иконок set $md5index_icopref icon-; # префикс имени файла иконки #set $md5index_icosuf -icon; # суфикс имени файла иконки set $md5index_icoext .gif; # расширение файла иконки set $md5index_win _blank; # target window for !winext! files set $md5index_winext htm.html.txt; # file extension for target windows body_filter_by_lua_file /etc/nginx/lua/md5index.lua; # addon обработчик } Posted at Nginx Forum: https://forum.nginx.org/read.php?21,264076,264076#msg-264076 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Как вытащить нужные данные из user-agent?
Всем привет! Есть такая строка HTTP/1.0" 301 178 "-" "Mozilla/5.0 (Linux; Android 4.0.3; KFTT Build/IML74K) AppleWebKit/537.36 (KHTML, like Gecko) Silk/47.2.3 like Chrome/47.0.2526.83 Safari/537.36" Надо вытащить либо KFTT либо Build/ либо Silk. Задача определить устройства kindlefire и редиректить на один ресурс а остальные android устройства на другой. Всякие разные регулярки перебрал но пока без результатно. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,264075,264075#msg-264075 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: $realip_remote_addr выдает айпи прокси а не клиента
24.01.2016 10:33, Pavel V. пишет: Здравствуйте, Андрей. Вы писали 24 января 2016 г., 4:45:36: В конфиге прописано: real_ip_header X-Forwarded-For; real_ip_recursive on; set_real_ip_from 94.23.0.0/16; proxy_set_header X-Real-IP$realip_remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; На бэкнде получаю в X_REAL_IP айпи прокси а не клиента: [HTTP_X_REAL_IP] => 94.23.156.246 [HTTP_X_FORWARDED_FOR] => 176.104.49.220, 94.23.156.246 [REMOTE_ADDR] => 94.23.156.246 Кто виноват и что делать? Всё работает так, как вы указали в конфигурации. Цитирую http://nginx.org/ru/docs/http/ngx_http_realip_module.html : $realip_remote_addr - хранит исходный адрес клиента (1.9.7) В данном случае клиентом является то, что соединилось с nginx, т.е. прокси. Вам следует использовать переменную $remote_addr: Поставил, результат тот же proxy_set_header X-Real-IP $remote_addr; Возможно также, что директива "proxy_set_header X-Forwarded-For " совсем не нужна, чаще всего это наследие копипаста. Для получения IP реального клиента достаточно X-Real-IP. Она-то конечно не нужна, но вот для дебага таки нужна ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Как вытащить нужные данные из user-agent?
К сожалению, не смог найти оригинальную статью, но тем не менее: 1) http://stackoverflow.com/questions/8970800/is-server-side-useragent-detection-bad 2) http://blogs.msdn.com/b/ieinternals/archive/2013/09/21/10451071.aspx TL;DR: Опираться на юзерагент в логике поведения приложения - какашка. // А гугл за это даже удаляет из выдачи, например. 23.01.2016 14:19, igroykt пишет: > Всем привет! > Есть такая строка HTTP/1.0" 301 178 "-" "Mozilla/5.0 (Linux; Android 4.0.3; > KFTT Build/IML74K) AppleWebKit/537.36 (KHTML, like Gecko) Silk/47.2.3 like > Chrome/47.0.2526.83 Safari/537.36" > Надо вытащить либо KFTT либо Build/ либо Silk. > Задача определить устройства kindlefire и редиректить на один ресурс а > остальные android устройства на другой. > Всякие разные регулярки перебрал но пока без результатно. > > Posted at Nginx Forum: > https://forum.nginx.org/read.php?21,264075,264075#msg-264075 > > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru