Tôi nhận được thông báo lỗi tiêu đề Máy chủ không hợp lệ từ máy chủ của mình và tôi không biết cách giải quyết.
URL yêu cầu lỗi là https://127.0.0.1:8000 và gợi ý rõ ràng là thêm máy chủ cục bộ vào máy chủ ĐƯỢC PHÉP (sử dụng django) của tôi. Tuy nhiên, tôi đã đọc được rằng việc giữ máy chủ cục bộ trong các máy chủ được phép trong quá trình sản xuất là một cách làm không tốt và là một lỗ hổng bảo mật tiềm ẩn. Hiện tại, các máy chủ được phép của tôi trong prod bị giới hạn trong miền đã đăng ký của tôi.
Tôi đã thực hiện một số thao tác tìm hiểu và có vẻ như những yêu cầu này đến từ máy quét cổng IP. Trong báo cáo email, đôi khi tôi có thể thấy các liên kết GitHub trong HTTP_USER_AGENT tới các kho máy quét như vậy. Và HTTP_X_FORWARDED_FOR hầu như luôn là một số nhà cung cấp VPN hoặc nằm ở Moscow hoặc Bắc Kinh.
Đây là cấu hình nginx hiện tại của tôi. Tôi đã triển khai một vài đề xuất từ các bài đăng khác như tùy chỉnh nếu lọc regex nhưng dường như nó không có tác dụng.
Ngoài vấn đề này, mọi thứ khác dường như đang hoạt động như dự định. Mọi sự trợ giúp sẽ rất được trân trọng. Lần đầu tiên thiết lập một cái gì đó như thế này, vì vậy vui lòng chỉ ra bất kỳ lỗi rõ ràng nào.
# Tệp: /etc/nginx/sites-available/app
server_tokens tắt;
access_log /var/log/nginx/app.access.log;
error_log /var/log/nginx/app.error.log;
người phục vụ {
nghe 80 default_server;
trả lại 444;
}
người phục vụ {
server_name app.example.com;
nghe 80;
trả lại 301 https://$host$request_uri;
}
người phục vụ {
# Câu lệnh regex if tùy chỉnh tới 444 bất kỳ tiêu đề máy chủ không mong muốn nào
nếu ( $host !~* ^(app.example.com|example.com)$ ) {
trả lại 444;
}
vị trí/tĩnh {
tự động lập chỉ mục;
bí danh/đường dẫn/đến/django/tệp tĩnh;
}
# Chuyển yêu cầu cho guinicorn nghe trên http://localhost:8000
địa điểm / {
proxy_pass http://localhost:8000;
bao gồm /etc/nginx/proxy_params;
proxy_redirect tắt;
}
nghe 443 ssl;
server_name app.example.com;
ssl_certificate /path/to/fullchain.pem;
ssl_certificate_key /path/to/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers CIPHER;
}