Я не могу перестать получать 400 плохих запросов. После некоторых исследований я обнаружил, что это означает, что в запросе были плохие заголовки из-за плохой конфигурации.
Вот мой nginx.conf файл:
пользователь nginx;
рабочие_процессы авто;
События {
    worker_connections 1000;
}
error_log /var/log/nginx/error.log предупреждение;
pid /var/run/nginx.pid;
http {
    включить /etc/nginx/mime.types;
    default_type application/octet-stream;
    server_tokens отключены;
    set_real_ip_from 192.168.0.0/16;
    set_real_ip_from 172.16.0.0/12;
    set_real_ip_from 10.0.0.0/8;
    real_ip_header X-Forwarded-For;
    real_ip_recursive на;
    log_format main '$remote_addr - $remote_user "$request" '
                      '$status $body_bytes_sent $http_host "$http_referer" '
                      '"$http_user_agent"';
    журнал_доступа /var/log/nginx/access.log основной;
    отправить файл включен;
    #tcp_npush включен;
    keepalive_timeout 65;
    gzip включен;
    gzip_disable "msie6";
    gzip_vary включен;
    gzip_proxy любой;
    gzip_comp_level 6;
    gzip_buffers 16 8k;
    gzip_http_версия 1.1;
    gzip_types текст/обычный текст/приложение css/приложение json/текст javascript/приложение xml/приложение xml/текст xml+rss/javascript;
    включить /etc/nginx/conf.d/*.conf;
    включить /etc/nginx/sites-enabled/*.conf;
}
Вот вывод в журналы, когда я делаю запрос на сервер:
" при чтении протокола PROXY клиент: 172.26.0.5, сервер: 0.0.0.0:80
16.09.2021 11:08:07 [ошибка] 8#8: *8 неработающий заголовок: «GET /favicon.ico HTTP/1.1
прагма: без кеша
кеш-контроль: без кеша
sec-ch-ua: "Google Chrome";v="93", "Не бренд";v="99", "Chromium";v="93"
сек-ч-уа-мобиль: ?0
пользовательский агент: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, например Gecko) Chrome/93.0.4577.82 Safari/537.36
sec-ch-ua-platform: "Windows"
принять: изображение / avif, изображение / webp, изображение / apng, изображение / svg + xml, изображение / *, * / *; q = 0,8
sec-fetch-site: того же происхождения
sec-fetch-mode: без корреспонденции
sec-fetch-dest: изображение
реферер: https://localhost/
принять кодировку: gzip, deflate, br
принять-язык: en-US,en;q=0.9
хост: локальный
X-переадресовано-для: 172.26.0.1
Этот обратный прокси-сервер nginx работает в док-контейнере со следующим докерфайл:
ОТ nginx: 1.16
ENV DOCKER_IMAGE nginx
ENV DOCKER_NAME nginx
ENV TZ Африка/Тунис
ВЫПОЛНИТЬ установить -x && \
    # крошечный помощник для перезагрузки конфига nginx
    printf '#!/bin/bash\n/usr/sbin/nginx -s reload\n' >> /usr/local/bin/nginx-reload && \
    chmod +x /usr/local/bin/nginx-reload && \
    # удалить конфигурацию сервера nginx по умолчанию
    рм /etc/nginx/conf.d/default.conf
КОПИРОВАТЬ ./conf/ /etc/
ENV WORKER_PROCESSES авто
ENV WORKER_CONNECTIONS 1024
Локальный хост ENV SERVER_NAME