Я не могу перестать получать 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