Tôi không thể ngừng nhận được 400 yêu cầu không hợp lệ. Sau một số nghiên cứu, tôi phát hiện ra rằng điều này có nghĩa là yêu cầu có tiêu đề không hợp lệ do cấu hình không hợp lệ
Đây là nginx.conf
tập tin:
người dùng nginx;
worker_processes tự động;
sự kiện {
worker_connections 1000;
}
error_log /var/log/nginx/error.log cảnh báo;
pid /var/run/nginx.pid;
http {
bao gồm /etc/nginx/mime.types;
ứng dụng default_type/octet-stream;
server_tokens tắt;
set_real_ip_từ 192.168.0.0/16;
set_real_ip_từ 172.16.0.0/12;
set_real_ip_từ 10.0.0.0/8;
real_ip_header X-Forwarded-For;
real_ip_recursive bật;
log_format chính '$remote_addr - $remote_user "$request" '
'$status $body_bytes_sent $http_host "$http_referer" '
'"$http_user_agent"';
access_log /var/log/nginx/access.log chính;
gửi tệp trên;
#tcp_nopush bật;
keepalive_timeout 65;
bật gzip;
gzip_disable "msie6";
bật gzip_vary;
gzip_proxied bất kỳ;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
văn bản gzip_types/văn bản thuần túy/ứng dụng css/ứng dụng json/văn bản javascript/ứng dụng xml/ứng dụng xml/xml+văn bản rss/javascript;
bao gồm /etc/nginx/conf.d/*.conf;
bao gồm /etc/nginx/sites-enabled/*.conf;
}
Đây là đầu ra của nhật ký khi tôi thực hiện yêu cầu nhận tới máy chủ:
" trong khi đọc giao thức PROXY, máy khách: 172.26.0.5, máy chủ: 0.0.0.0:80
16/09/2021 11:08:07 [lỗi] 8#8: *8 tiêu đề bị hỏng: "NHẬN /favicon.ico HTTP/1.1
pragma: không có bộ đệm
kiểm soát bộ đệm: không có bộ đệm
sec-ch-ua: "Google Chrome";v="93", " Not;A Brand";v="99", "Chromium";v="93"
sec-ch-ua-mobile: ?0
tác nhân người dùng: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, như Gecko) Chrome/93.0.4577.82 Safari/537.36
sec-ch-ua-nền tảng: "Windows"
chấp nhận: image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8
sec-fetch-site: cùng nguồn gốc
sec-fetch-mode: no-cors
sec-fetch-dest: hình ảnh
người giới thiệu: https://localhost/
chấp nhận mã hóa: gzip, deflate, br
chấp nhận ngôn ngữ: en-US,en;q=0.9
máy chủ: máy chủ cục bộ
X-Forwarded-For: 172.26.0.1
Proxy ngược nginx này đang chạy trên bộ chứa docker với nội dung sau dockerfile
:
TỪ nginx:1.16
ENV DOCKER_IMAGE nginx
ENV DOCKER_NAME nginx
ENV TZ Châu Phi/Tunis
CHẠY bộ -x && \
# người trợ giúp tí hon để tải lại cấu hình nginx
printf '#!/bin/bash\n/usr/sbin/nginx -s reload\n' >> /usr/local/bin/nginx-reload && \
chmod +x /usr/local/bin/nginx-reload && \
# xóa cấu hình máy chủ nginx mặc định
rm /etc/nginx/conf.d/default.conf
SAO CHÉP ./conf/ /etc/
ENV WORKER_PROCESSES tự động
ENV WORKER_CONNECTIONS 1024
ENV SERVER_NAME máy chủ cục bộ