Nu mă pot opri să primesc 400 de cereri proaste. După câteva cercetări, am aflat că asta însemna că cererea avea anteturi proaste din cauza unei configurații proaste
Aici e al meu nginx.conf
fişier:
utilizator nginx;
worker_proceses auto;
evenimente {
muncitor_conexiuni 1000;
}
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
http {
includ /etc/nginx/mime.types;
aplicație de tip_default/octet-stream;
server_tokens dezactivat;
set_real_ip_de la 192.168.0.0/16;
set_real_ip_de la 172.16.0.0/12;
set_real_ip_de la 10.0.0.0/8;
real_ip_header X-Forwarded-For;
real_ip_recursive on;
log_format principal „$remote_addr - $remote_user „$request” '
'$status $body_bytes_sent $http_host "$http_referer" '
'"$http_user_agent"';
access_log /var/log/nginx/access.log principal;
sendfile activat;
#tcp_nopush on;
keepalive_timeout 65;
gzip on;
gzip_disable „msie6”;
gzip_vary on;
gzip_proxied orice;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_versiunea 1.1;
gzip_types text/text simplu/aplicație css/aplicație json/text javascript/aplicație xml/aplicație xml/xml+text rss/javascript;
includ /etc/nginx/conf.d/*.conf;
includ /etc/nginx/sites-enabled/*.conf;
}
Iată rezultatul pentru jurnal atunci când fac o solicitare de obținere către server:
" în timpul citirii protocolului PROXY, client: 172.26.0.5, server: 0.0.0.0:80
2021/09/16 11:08:07 [eroare] 8#8: *8 antet rupt: „GET /favicon.ico HTTP/1.1
pragma: fără cache
cache-control: fără cache
sec-ch-ua: "Google Chrome";v="93", "Nu;O marcă";v="99", "Chromium";v="93"
sec-ch-ua-mobile: ?0
user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, ca Gecko) Chrome/93.0.4577.82 Safari/537.36
sec-ch-ua-platform: „Windows”
acceptă: imagine/avif, imagine/webp, imagine/apng, imagine/svg+xml, imagine/*,*/*;q=0,8
sec-fetch-site: aceeași origine
sec-fetch-mode: no-cors
sec-fetch-dest: imagine
referitor: https://localhost/
accept-encoding: gzip, deflate, br
accept-limba: en-US,en;q=0,9
gazdă: localhost
X-Redirecționat-Pentru: 172.26.0.1
Acest proxy invers nginx rulează pe un container docker cu următoarele dockerfile
:
DE LA nginx:1.16
ENV DOCKER_IMAGE nginx
ENV DOCKER_NAME nginx
ENV TZ Africa/Tunis
RUN setați -x && \
# mic ajutor pentru a reîncărca configurația nginx
printf '#!/bin/bash\n/usr/sbin/nginx -s reload\n' >> /usr/local/bin/nginx-reload && \
chmod +x /usr/local/bin/nginx-reload && \
# șterge configurația implicită a serverului nginx
rm /etc/nginx/conf.d/default.conf
COPIEAZĂ ./conf/ /etc/
ENV WORKER_PROCESSES automat
ENV WORKER_CONNECTIONS 1024
gazdă locală ENV SERVER_NAME