Primesc o eroare de antet gazdă nevalidă de la serverul meu și nu sunt sigur cum să o rezolv.
Adresa URL a solicitării de erori este https://127.0.0.1:8000 iar sugestia evidentă este să adăugați localhost la gazdele mele (folosind django) PERMISE. Cu toate acestea, am citit că păstrarea localhost în gazdele permise în producție este o practică proastă și o potențială defecțiune de securitate. Momentan, gazdele mele permise în prod sunt limitate la domeniul meu înregistrat.
Am făcut câteva săpături, se pare că aceste solicitări provin de la scanere de porturi IP. În raportul prin e-mail, pot vedea uneori linkuri GitHub în HTTP_USER_AGENT către astfel de depozite de scanare. Și HTTP_X_FORWARDED_FOR este aproape întotdeauna fie un furnizor VPN, fie se află în Moscova sau Beijing.
Iată configurația mea actuală nginx. Am implementat câteva sugestii de la alte postări, cum ar fi filtrarea personalizată dacă regex, dar nu pare să fi avut efect.
În afară de această problemă, totul pare să funcționeze conform intenției. Orice ajutor ar fi foarte apreciat. Prima dată când setați așa ceva, așa că vă rugăm să subliniați orice erori evidente.
# Fișier: /etc/nginx/sites-available/app
server_tokens dezactivat;
access_log /var/log/nginx/app.access.log;
error_log /var/log/nginx/app.error.log;
Server {
asculta 80 default_server;
întoarcere 444;
}
Server {
nume_server app.example.com;
asculta 80;
returnează 301 https://$host$request_uri;
}
Server {
# Personalizat regex if la 444 orice antet gazdă neașteptat
dacă ( $gazdă !~* ^(app.example.com|example.com)$ ) {
întoarcere 444;
}
locație /static {
autoindex activat;
alias /path/to/django/staticfiles;
}
# Transmite cererile către guinicorn care ascultă pe http://localhost:8000
Locație / {
proxy_pass http://localhost:8000;
includ /etc/nginx/proxy_params;
proxy_redirect dezactivat;
}
asculta 443 ssl;
nume_server 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;
}