Am creat un site web django care ar fi deservit de Nginx, totul a funcționat perfect până când imaginile nu au încetat să apară recent.
Am încercat să inspectez cauza posibilă a acestei dezvoltări ciudate folosind răsuci
și apoi am realizat că Tipul de conținut nu este recunoscut ca Tip de conținut: imagine/jpeg
întoarce a Tip de conținut: text/html; set de caractere=utf-8
Acest comportament pare ciudat așa cum am inclus mime.tipuri in al meu nginx.conf fişier.
Mai jos este un exemplu de răspuns de la răsuci
comanda
utilizator@server:~$ curl -I https://domain.name/media/upload/image.jpg
HTTP/1.1 200 OK
Server: nginx/1.18.0 (Ubuntu)
Data: duminica, 29 mai 2022 00:45:53 GMT
Tip de conținut: text/html; set de caractere=utf-8
Lungimea conținutului: 11392
Conexiune: păstrați-vă în viață
X-Frame-Opțiuni: DENY
Variază: Cookie
X-Content-Type-Options: nosniff
Politică referitor: aceeași origine
Cross-Origin-Opener-Policy: aceeași origine
Set-Cookie: csrftoken=T9Z3jrp4dzOAINxo6JzOUyjIGwGYHoc37TZaYsIOmHHyrQUw30vI6ETIAcy66Wnr; expiră=Dum., 28 mai 2023 00:45:53 GMT; Max-Age=31449600; Cale=/; SameSite=Lax
Aici este completul meu nginx.conf
fişier
utilizator www-date;
worker_proceses auto;
pid /run/nginx.pid;
includ /etc/nginx/modules-enabled/*.conf;
evenimente {
conexiuni_muncitor 768;
# multi_accept on;
}
http {
##
# Setări de bază
##
sendfile activat;
tcp_nopush activat;
types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
includ /etc/nginx/mime.types;
aplicație de tip_default/octet-stream;
##
# Setări SSL
##
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Eliminarea SSLv3, ref: POODLE
ssl_prefer_server_ciphers activat;
##
# Setări de înregistrare
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Setări Gzip
##
gzip on;
# gzip_vary on;
# gzip_proxied orice;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
##
# Configurații gazdă virtuală
##
includ /etc/nginx/conf.d/*.conf;
includ /etc/nginx/sites-enabled/*;
}
#Poștă {
# # Vezi exemplu de script de autentificare la:
# # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
#
# # auth_http localhost/auth.php;
# # pop3_capabilities „TOP” „USER”;
# # imap_capabilities „IMAP4rev1” „UIDPLUS”;
#
# Server {
# asculta localhost:110;
# protocol pop3;
# proxy activat;
#}
#
# Server {
# asculta localhost:143;
# protocol imap;
# proxy activat;
#}
#}
Conținutul /etc/nginx/sites-enabled/app
# /etc/nginx/sites-enabled
Server {
nume_server IP-ul_server_meu NUMELE_serverului meu;
locație = /favicon.ico { access_log off; log_not_found off; }
locație /static/ {
root /home/user/app;
}
Locație / {
include proxy_params;
proxy_pass http://unix:/run/gunicorn.sock;
}
asculta 443 ssl;
ssl_certificate /path/to/certfullchain.pem;
ssl_certificate_key /path/to/certprivkey.pem;
includ /etc/cert-provider/options-ssl-nginx.conf;
ssl_dhparam /etc/cerrt-provider/ssl-dhparams.pem;
}
Server {
dacă ($gazdă = www.domeniu.nume {
returnează 301 https://$host$request_uri;
}
dacă ($gazdă = nume.domeniu) {
returnează 301 https://$host$request_uri;
}
asculta 80;
nume_server IP-ul_server_meu NUMELE_serverului meu;
întoarce 404;
}
Notă: Servim acest site cu gunicorn