Welcome! Log In Create A New Profile

Advanced

Re: [error] access forbidden by rule

Gena Makhomed
July 12, 2022 12:56PM
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
и еще примерно 20% - это "предупреждения" о том, что
a client request body is buffered to a temporary file

Еще - было бы очень хорошо, чтобы nginx умел писать логи на диск
не до тех пор, пока там останется 0 байт свободного места, а хотя
бы оставлял 1 гигабайт для файлов в /var/cache/nginx/client_temp
но наверное это отрицательно скажется на его производительности,
и поэтому такая возможность никогда не будет реализована в 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
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: 172
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 500 on July 15, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready