Welcome! Log In Create A New Profile

Advanced

Re: [error] access forbidden by rule

Илья Шипицин
July 12, 2022 01:14PM
вт, 12 июл. 2022 г. в 21:55, Gena Makhomed <gmm@csdoc.com>:

> On 12.07.2022 17:51, Maxim Dounin wrote:
>
> > Ограничения и ошибки доступа логгируются на уровне error, так как
> > считаются важными (и, вообще говоря, не являются ошибками в
> > клиентских запросах, а являются ошибками обработки клиентских
> > запросов). Как в случае access forbidden by rule в allow/deny,
> > так и в случае user not found / password mismatch в auth_basic, а
> > равно "directory index ... forbidden", "open() ... failed (2:
> > No such file or directory)" и limit_conn/limit_req.
> >
> > Для гибкого изменения уровней логгирования (или вообще
> > логгирования) в сложных случаях - есть некоторое количество ручек,
> > позволяющих гибко управлять логгированием конкретных событий
> > (limit_conn_log_level, limit_req_log_level, log_not_found,
> > rewrite_log). В общем случае - таких ручек нет, и события
> > попадают в лог на фиксированном уровне логгирования.
>
> >> Может быть имеет смысл сделать директиву deny_log_level
>
> > Добавить возможность настройки уровня логгирования ошибок deny -
> > возможно, но пока кажется, что это скорее не нужно.
>
> Директивы limit_conn_log_level и limit_req_log_level были
> добавлены в nginx с какой целью / мотивацией, если не секрет?
>
> Разве мотивация добавить директиву deny_log_level не такая же,
> как и была в случае с директивами limit_{conn,req}_log_level ?
>
> В чем проблема - логи nginx находятся в каталоге /var/log/nginx/
> http-client-body-temp-path в каталоге /var/cache/nginx/client_temp
> поэтому когда логи занимают все свободное место на разделе
> - перестает работать аплоад файлов и тогда пользователям
> возвращается 500 ошибка.
>
> Чтобы решить проблему - поменял rotate 52 на rotate 7
> в файле /etc/logrotate.d/nginx. Отключать access-логи не могу,
> менять log level для файла error.log с warn на crit не хочу,
> чтобы не пропустить какую-то действительно важную ошибку.
>
> Поэтому лично для меня - наличие директивы deny_log_level
> было бы полезно, потому что примерно 80% содержимого
> файла error.log - это "ошибки" access forbidden by rule
>

я не пробовал, но кажется, можно выкрутиться через error_page, и настроив
логи в локейшене в /dev/null
(неизящно, но может сработать)


> и еще примерно 20% - это "предупреждения" о том, что
> a client request body is buffered to a temporary file
>

это же можно выключить через proxy_request_buffering ?
из побочных эффектов, если вдруг понадобилось ретраить запрос, то
сохраненного тела запроса уже не будет, увы.


>
> Еще - было бы очень хорошо, чтобы nginx умел писать логи на диск
> не до тех пор, пока там останется 0 байт свободного места, а хотя
> бы оставлял 1 гигабайт для файлов в /var/cache/nginx/client_temp
>

буферизация на диск имеет кучу побочных эффектов.
можно через Модуль ngx_http_proxy_module (nginx.org)
<https://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_max_temp_file_size>
выключить
дисковую часть (оставив буферизацию в памяти)


> но наверное это отрицательно скажется на его производительности,
> и поэтому такая возможность никогда не будет реализована в nginx?
>
> Хотя, с другой стороны, nginx master может ведь мониторить свободное
> место на диске с интервалом, например, раз в 10 или 20 или 30 секунд,
> отключая запись в access.log, когда свободного места меньше 1 гигабайта
> и отключая запись в error.log на уровне меньше crit, когда свободного
> места на диске меньше, например, 512 мегабайт? (И включая обратно
> запись в логи в той же последовательности в случае появления
> свободного места на диске)
>
> Вы наверное скажете, что по нормальному надо было бы где-то установить
> и настроить какой-нибудь Zabbix и настроить в нем мониторинг свободного
> места на разделе /var/log/nginx/ и /var/cache/nginx/client_temp и потом
> вручную чистить логи, когда придет сообщение о том, что low free space?
>

я бы скорее смотрел в сторону, что диск для реверс прокси не особо нужен.
можно транзитом туда-сюда трафик гонять.
разве что для логов.


>
> --
> Best regards,
> Gena
> _______________________________________________
> nginx-ru mailing list -- nginx-ru@nginx.org
> To unsubscribe send an email to nginx-ru-leave@nginx.org
>
_______________________________________________
nginx-ru mailing list -- nginx-ru@nginx.org
To unsubscribe send an email to nginx-ru-leave@nginx.org
Subject Author Posted

400 Bad Request The plain HTTP request was sent to HTTPS port

milov July 05, 2022 05:49AM

Re: 400 Bad Request The plain HTTP request was sent to HTTPS port

Илья Шипицин July 05, 2022 06:34AM

Re: 400 Bad Request The plain HTTP request was sent to HTTPS port

milov July 05, 2022 06:57AM

Re: 400 Bad Request The plain HTTP request was sent to HTTPS port

Илья Шипицин July 05, 2022 07:16AM

Re: 400 Bad Request The plain HTTP request was sent to HTTPS port

milov July 05, 2022 02:12PM

Re: 400 Bad Request The plain HTTP request was sent to HTTPS port

Maxim Dounin July 05, 2022 08:56AM

certbot

Gena Makhomed July 05, 2022 03:10PM

Re: certbot

Maxim Dounin July 05, 2022 05:54PM

Re: certbot

Gena Makhomed July 06, 2022 02:02AM

Re: certbot

Maxim Dounin July 06, 2022 03:02PM

Re: certbot

Gena Makhomed July 06, 2022 04:40PM

Re: certbot

Maxim Dounin July 06, 2022 06:20PM

Re: certbot

Evgeniy Berdnikov July 07, 2022 05:20AM

Re: certbot

Илья Шипицин July 07, 2022 05:42AM

Re: certbot

Evgeniy Berdnikov July 07, 2022 06:16AM

Re: certbot

Илья Шипицин July 07, 2022 06:40AM

Re: certbot

Dmitry Morozovsky July 20, 2022 01:00PM

Re: certbot

Maxim Dounin July 20, 2022 04:02PM

Re: certbot

Илья Шипицин July 21, 2022 06:44AM

Re: certbot

Илья Шипицин July 21, 2022 06:48AM

OCSP Must Staple

Gena Makhomed July 21, 2022 07:06AM

Re: OCSP Must Staple

Илья Шипицин July 21, 2022 07:14AM

Re: OCSP Must Staple

Maxim Dounin July 21, 2022 09:30PM

Re: certbot

raven_kg@megaline.kg July 06, 2022 02:10AM

Re: certbot

milov July 06, 2022 04:49AM

Re: certbot

Илья Шипицин July 06, 2022 07:46AM

Re: 400 Bad Request The plain HTTP request was sent to HTTPS port

milov July 05, 2022 03:40PM

Re: 400 Bad Request The plain HTTP request was sent to HTTPS port

Maxim Dounin July 05, 2022 07:06PM

Re: 400 Bad Request The plain HTTP request was sent to HTTPS port

milov July 05, 2022 07:20PM

Re: 400 Bad Request The plain HTTP request was sent to HTTPS port

Maxim Dounin July 05, 2022 09:54PM

long deprecated directives

Gena Makhomed July 06, 2022 01:18AM

Re: long deprecated directives

Maxim Konovalov July 06, 2022 02:30AM

Re: long deprecated directives

Maxim Dounin July 06, 2022 03:16PM

Re: 400 Bad Request The plain HTTP request was sent to HTTPS port

milov July 06, 2022 04:44AM

Re: 400 Bad Request The plain HTTP request was sent to HTTPS port

Maxim Dounin July 06, 2022 03:22PM

Re: 400 Bad Request The plain HTTP request was sent to HTTPS port

milov July 07, 2022 04:34AM

Re: 400 Bad Request The plain HTTP request was sent to HTTPS port

Антон Горлов via nginx-ru July 07, 2022 04:46AM

Re: 400 Bad Request The plain HTTP request was sent to HTTPS port

milov July 07, 2022 04:57AM

Re: 400 Bad Request The plain HTTP request was sent to HTTPS port

Maxim Dounin July 07, 2022 03:16PM

Re: 400 Bad Request The plain HTTP request was sent to HTTPS port

milov July 09, 2022 04:46AM

Re: 400 Bad Request The plain HTTP request was sent to HTTPS port

Maxim Dounin July 10, 2022 04:42AM

SSL_do_handshake() failed (SSL: error:141CF06C:SSL routines:tls_parse_ctos_key_share:bad key share) while SSL handshaking

Gena Makhomed July 11, 2022 02:08PM

Re: SSL_do_handshake() failed (SSL: error:141CF06C:SSL routines:tls_parse_ctos_key_share:bad key share) while SSL handshaking

Maxim Dounin July 11, 2022 09:26PM

Re: SSL_do_handshake() failed (SSL: error:141CF06C:SSL routines:tls_parse_ctos_key_share:bad key share) while SSL handshaking

Sergey Kandaurov July 12, 2022 07:54AM

Re: SSL_do_handshake() failed (SSL: error:141CF06C:SSL routines:tls_parse_ctos_key_share:bad key share) while SSL handshaking

Maxim Dounin July 12, 2022 10:00AM

[error] access forbidden by rule

Gena Makhomed July 12, 2022 09:48AM

Re: [error] access forbidden by rule

Илья Шипицин July 12, 2022 10:42AM

Re: [error] access forbidden by rule

Maxim Dounin July 12, 2022 10:52AM

Re: [error] access forbidden by rule

Gena Makhomed July 12, 2022 12:56PM

Re: [error] access forbidden by rule

Илья Шипицин July 12, 2022 01:14PM

[warn] a client request body is buffered to a temporary file

Gena Makhomed July 12, 2022 03:16PM

Re: [warn] a client request body is buffered to a temporary file

Илья Шипицин July 12, 2022 03:28PM

Re: [warn] a client request body is buffered to a temporary file

Gena Makhomed July 12, 2022 05:02PM

Re: [warn] a client request body is buffered to a temporary file

Илья Шипицин July 12, 2022 11:44PM

Re: [error] access forbidden by rule

Илья Шипицин July 12, 2022 01:18PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 102
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready