Custom error page

2020-02-03 Пенетрантность Phil Kulin
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-08-06 Пенетрантность Phil Kulin
Ничего не придумали?

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-24 Пенетрантность Phil Kulin
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

2017-07-19 Пенетрантность Phil Kulin
Не могу составить правильный запрос в 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

2016-10-24 Пенетрантность Phil Kulin
На старости лет вруг понял, что не понял.
Смотрите, есть какие-то 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 в цепочке

2015-05-22 Пенетрантность Phil Kulin
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 в цепочке

2015-05-21 Пенетрантность Phil Kulin
Есть такая схема:
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

2014-03-21 Пенетрантность Phil Kulin
Собственно вопрос не новый, но вдруг что-то изменилось.
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

2014-03-21 Пенетрантность Phil Kulin
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-соединении

2014-03-21 Пенетрантность Phil Kulin
 Давно уже заметил, сейчас только беспокоить стало. Есть вот такая конструкция:

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 и алгоритмы ГОСТ

2014-03-20 Пенетрантность Phil Kulin
Есть 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 и алгоритмы ГОСТ

2014-03-20 Пенетрантность Phil Kulin
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 и алгоритмы ГОСТ

2014-03-20 Пенетрантность Phil Kulin
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