On 10.07.2022 11:41, Maxim Dounin wrote:

Вы чуть раньше в этом треде писали Илье, "client sent plain HTTP
request to HTTPS port".  Как и другие ошибки в клиентских
запросах, эти ошибки логгируются на уровне info.

nginx/1.23.0 из официального репозитория nginx.org

В error.log есть такая запись:

2022/07/12 16:00:00 [error] 16594#16594: *21415 access forbidden by rule, client: 62.46.205.111, server: gitlab.example.com, request: "GET /api/v4/user HTTP/2.0", host: "gitlab.example.com"

То, что какому-то клиенту возвращается 403 статус - разве это ошибка,
которую необходимо писать в error.log на уровне [error] а не [info] ?

Кстати, директивы limit_conn_log_level и limit_req_log_level
зачем-то по умолчанию стоят на уровне error, как будто это есть
ошибка на стороне сервера, если какому-то клиенту будет запрещен
доступ.

Директива deny_log_level в nginx вообще отсутствует.

Может быть имеет смысл сделать директиву deny_log_level
и для всех трех директив: limit_conn_log_level,
limit_req_log_level и deny_log_level сделать значением
по умолчанию info ?

Это было бы логично и соответствовало бы общему правилу,
что все ошибки в клиентских запросах логгируются на уровне info.

P.S.

Конфиг /etc/nginx/conf.d/gitlab.example.com.conf:

server {

    listen 443 ssl http2;

    server_name gitlab.example.com;

ssl_certificate /etc/letsencrypt/live/gitlab.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/gitlab.example.com/privkey.pem;

    location / {
        allow 111.222.33.144;
        allow 172.17.113.100;
        allow 172.17.113.101;
        allow 172.17.113.102;
        allow 172.17.113.103;
        deny all;
        proxy_pass http://172.17.113.100:9000;
    }

    location /users/auth/google_oauth2/callback {
        proxy_pass http://172.17.113.100:9000;
    }

    location /-/google_api/auth/callback {
        proxy_pass http://172.17.113.100:9000;
    }
}

server {

    listen 80;

    server_name gitlab.example.com;

    location / {
         return 301 https://gitlab.example.com$request_uri;
    }

location /.well-known/acme-challenge { default_type text/plain; root /opt/letsencrypt; }
}

Конфиг /etc/gitlab/gitlab.rb на сервере 172.17.113.100:

nginx['listen_port'] = 9000

nginx['listen_https'] = false

--
Best regards,
 Gena
_______________________________________________
nginx-ru mailing list -- nginx-ru@nginx.org
To unsubscribe send an email to nginx-ru-le...@nginx.org

Ответить