Custom error page
1. Я задумался сделать всем клиентам страницу с HTTP кодом 451 и у меня возникла проблема - получается, я должен в каждый server прописать location с обработкой? Выглядит громоздко. Может я не прав, пока не решил для себя 2. Nginx не знает об HTTP CODE 451 2.1 Может быть он узнает? Там дела на полстроки в простом случае 2.2 Как самому добавить описание ошибки в заголовок ответа? -- Non nobis Domine non nobis sed Nomini Tuo da gloriam Phil Kulin ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Как принять проксированный https с нескольких источников, в том числе с CloudFlare ?
Ничего не придумали? 2018-04-02 1:11 GMT+03:00 Vladislav Prodan : > > Здравствуйте. > > Subj. > nginx/1.12.1 > > На основном сервере соорудил такой конфиг: > > server { > server_name .domain.com ; > ... > listen 443 ssl; > listen 444 ssl proxy_protocol; > ... > # Real IP from CloudFlare > include /etc/nginx/cloudflare.conf; > real_ip_header CF-Connecting-IP; > ... > set_real_ip_from 1.1.1.1/32; > real_ip_header proxy_protocol; > ... > > } > > Проблема в том, что у CloudFlare одно значение real_ip_header, а для обычной > tcp прокси (haproxy) - другое значение. > > Попытался такой вставить блок, > if ($remote_addr = 1.1.1.1) { > set_real_ip_from 1.1.1.1/32; > real_ip_header proxy_protocol; > } > Но тут можно использовать только редиректы и real_ip_header нельзя > переназначить... > > Подскажите решение. > > -- > Vladislav V. Prodan > System & Network Administrator > support.od.ua > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Non nobis Domine non nobis sed Nomini Tuo da gloriam Phil Kulin ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: нересолвящийся хост в proxy_pass
2017-07-19 17:05 GMT+03:00 Сергей Пузырёв <spuzi...@gmail.com>: > Грязный хак - это сниппет: > set $upstream_host "my.dns.hostname.tld"; > proxy_pass http://$upstream_host; Чего-то совсем грязный хак. Я думал через upstream сделать, но там с ресолвером проблема - его настраивать надо > > 19 июля 2017 г., 16:00 пользователь Phil Kulin <sch...@gmail.com> написал: >> >> Не могу составить правильный запрос в Google. Голову сломал. >> Хочу прописывать строки вида proxy_pass $scheme://hostname >> Но некоторых hostname может не существовать на момент старта. Хочу >> чтобы подхватывались. Сейчас у меня nginx просто не стартует, если >> нету >> >> Собственно, это задача разруливания докер-контейнеров (разных, не >> лоадбалансинг) за nginx. >> >> -- >> Non nobis Domine non nobis sed Nomini Tuo da gloriam >> Phil Kulin >> ___ >> nginx-ru mailing list >> nginx-ru@nginx.org >> http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > > -- > Best regargs, > Sergei Puzyrev, > tel. +31-614-96-98-53 > > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Non nobis Domine non nobis sed Nomini Tuo da gloriam Phil Kulin ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
нересолвящийся хост в proxy_pass
Не могу составить правильный запрос в Google. Голову сломал. Хочу прописывать строки вида proxy_pass $scheme://hostname Но некоторых hostname может не существовать на момент старта. Хочу чтобы подхватывались. Сейчас у меня nginx просто не стартует, если нету Собственно, это задача разруливания докер-контейнеров (разных, не лоадбалансинг) за nginx. -- Non nobis Domine non nobis sed Nomini Tuo da gloriam Phil Kulin ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
non-ASCII в URI в location
На старости лет вруг понял, что не понял. Смотрите, есть какие-то non-ASCII символы в URI. И например это не UTF-8. Хочу в location и например в map ловить такие URI. Что-то не могу ни найти, ни нагуглить как. В исходный текст посмотреть как nginx разбирает такие строки конфига не залезал. P.S. Хорошо, если это CP1251, а если нет? Например, название каталога с переводом строки "/static/rm -rf\n" :) -- Non nobis Domine non nobis sed Nomini Tuo da gloriam Phil Kulin ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: сжатие между двумя nginx в цепочке
21 мая 2015 г., 16:39 пользователь Maxim Dounin mdou...@mdounin.ru написал: Hello! Есть такая схема: nginx frontend 1 (F1) - nginx frontend 2 (F1) - apache backend 1 (B1) В этой схеме оба фронтенда обозначены как F1, что затрудняет понимание. Далее комментарии в предположении, что nginx frontend 2 на самом деле F2. Да, конечно. Был напуган. gzip_proxied any; gzip_http_version 1.0; gzip_types text/plain text/css application/xml application/xhtml+xml image/svg+xml application/x-font-woff application/javascript; (F1) nginx/1.0.11 gzip off; Имеет смысл обновиться. Видимо да... Я хочу, чтобы между F1 и F2 трафик по возможности жался (тащу огромные новомодные CSS/JS/HTML килотоннами из-за рубежа). Но если я на (F1) включаю gzip, то внезапно контент начинает выдаваться с задержкой... Если я правильно расшифровал схему выше, то F1 - это внешний фронтенд, и соответственно на сжатие между F1 и F2 настройки gzip-фильтра на нём не влияют, т.к. жмёт F2. Ну вот странное подозрение, что что-то не так. Но видимо обновлюсь и применю схему ниже, тогда можно о чём-то конкретном говорить. Следует иметь в виду, что сжатие приводит к потере заголовка Content-Length (если он был), и соответственно использованию Transfer-Encoding: chunked (в HTTP/1.1) или закрытию соединения (в HTTP/1.0). Это в каких случаях будет срабатывать? Понятно, что в новой схеме на F1 будет: gzip_types text/plain text/css application/xml application/xhtml+xml image/svg+xml application/x-font-woff application/javascript; а gzip_proxied и gzip_http_version убраны. 2. А можно заставлять между сжиматься принудительно? Включить gzip на F2, gunzip + proxy_set_header Accept-Encoding gzip; на F1. http://nginx.org/ru/docs/http/ngx_http_gunzip_module.html Потребуется обновить F1 на что-нибудь менее коллекционное. О, спасибо. gunzip пропустил. Иду закапывать стюардессу. -- Non nobis Domine non nobis sed Nomini Tuo da gloriam Phil Kulin ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
сжатие между двумя nginx в цепочке
Есть такая схема: nginx frontend 1 (F1) - nginx frontend 2 (F1) - apache backend 1 (B1) (B1) не хочет ничего сжимать, потому что я ему так сказал. И модуль выключил. (F2) nginx/1.6.1 сжимает: gzip on; gzip_comp_level 9; gzip_proxied any; gzip_http_version 1.0; gzip_types text/plain text/css application/xml application/xhtml+xml image/svg+xml application/x-font-woff application/javascript; (F1) nginx/1.0.11 gzip off; Я хочу, чтобы между F1 и F2 трафик по возможности жался (тащу огромные новомодные CSS/JS/HTML килотоннами из-за рубежа). Но если я на (F1) включаю gzip, то внезапно контент начинает выдаваться с задержкой... Вопрос: 1. Есть подводные камни? Я что-то не так делаю? Что посмотреть? 2. А можно заставлять между сжиматься принудительно? -- Non nobis Domine non nobis sed Nomini Tuo da gloriam Phil Kulin ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
аутентификация по клиентскому сертификату SSL
Собственно вопрос не новый, но вдруг что-то изменилось. 1. Есть ли какой-то способ клиенту, который не предоставил сертификат вдруг его подставить и аутентифицироваться им? 2. Возможно ли насильно сбросить соединение с клиентом? Это решало бы не только эту проблему. Грубовато, но часто действенно. -- Non nobis Domine non nobis sed Nomini Tuo da gloriam Phil Kulin ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: аутентификация по клиентскому сертификату SSL
21 марта 2014 г., 11:28 пользователь Pavel V. pavel2...@ngs.ru написал: Собственно вопрос не новый, но вдруг что-то изменилось. 1. Есть ли какой-то способ клиенту, который не предоставил сертификат вдруг его подставить и аутентифицироваться им? Что значит вдруг? Вы про HTTP говорите? HTTPS. Клиент получил сертификат, установил его, я хочу его аутентифицировать по нему. Насколько я понимаю, сейчас должен или истечь таймаут сессии, или он должен закрыть/открыть браузер. 2. Возможно ли насильно сбросить соединение с клиентом? Это решало бы не только эту проблему. Грубовато, но часто действенно. http://nginx.org/ru/docs/http/ngx_http_rewrite_module.html#return код 444 Вот куда я не посмотрел. Да. Это вариант. -- Non nobis Domine non nobis sed Nomini Tuo da gloriam Phil Kulin ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
не наследуются некоторые директивы при SSL-соединении
Давно уже заметил, сейчас только беспокоить стало. Есть вот такая конструкция: http { proxy_set_headerX-Real-IP $remote_addr; server { listen 192.168.0.2:80 default_server; listen 192.168.0.2:443 default_server ssl; } } При обычном соединении HTTP - заголовок X-Real-IP приходит на бэкенд. При HTTPS - нет. Если proxy_set_header продублировать в секцию server - всё нормально. Я ещё на 0.7.чтототам заметил. На 1.4.5 воспроизводится. Всё не так страшно, но хотелось бы понимать, какие директивы наследуются, а какие нет. Что надо тащить с собой, а что нет. -- Non nobis Domine non nobis sed Nomini Tuo da gloriam Phil Kulin ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
SSL и алгоритмы ГОСТ
Есть nginx, хочется делать соединение SSL с ГОСТовскими ключами. В том числе приём клиентских сертификатов. Стоит OpenSSL 1.0.1, конфиг есть, BIND например всё видит и домены ключами ГОСТ подписаны (где-то здесь минутка саморекламы :). В nginx надо что-то прописывать особенное? Или сам поймёт? Или наоборот не поймёт? -- Non nobis Domine non nobis sed Nomini Tuo da gloriam Phil Kulin ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: SSL и алгоритмы ГОСТ
20 марта 2014 г., 23:26 пользователь Igor Sysoev i...@sysoev.ru написал: Есть nginx, хочется делать соединение SSL с ГОСТовскими ключами. В том числе приём клиентских сертификатов. Стоит OpenSSL 1.0.1, конфиг есть, BIND например всё видит и домены ключами ГОСТ подписаны (где-то здесь минутка саморекламы :). В nginx надо что-то прописывать особенное? Или сам поймёт? Или наоборот не поймёт? Насчёт клиентских сертификатов сказать не могу, а вообще должно работать. А вот этот список ssl_cipher? По умолчанию оставить? Просто в том же BIND надо чего-то сказать ему при сборке. Но я плохо разбираюсь в библиотеке -- Non nobis Domine non nobis sed Nomini Tuo da gloriam Phil Kulin ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: SSL и алгоритмы ГОСТ
20 марта 2014 г., 23:39 пользователь Igor Sysoev i...@sysoev.ru написал: По-моему, ничего не нужно специально настраивать, достаточно правильного /etc/openssl.conf. Если не получится, то ssl_engine gost; http { ssl_ciphers GOST2001-GOST89-GOST89; ... Спасибо. Практика показывает, что работает без этого. А проблема моя состояла в том, что я сделал USR1 после пересборки nginx вместо полного перезапуска :) Однако то ли вопрос, то ли фичреквест - а можно как-нибудь узнать с каким OpenSSL собрано (например, если собирать из портов с WITH_OPENSSL_PORT=yes, то configure самого nginx выдаёт With OpenSSL System, при этом собирается таки с портовым)? Если никак, то может сделать ключик или выдавать по -V? Те же возможные engine и ciphers? -- Non nobis Domine non nobis sed Nomini Tuo da gloriam Phil Kulin ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru