Puncte:1

NGINX nu servește corect fișierele imagine

drapel es

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

Puncte:1
drapel es

Am reușit să rezolv această problemă adăugând o nouă directivă de locație care se potrivește cu fișierele mele media. În acest caz, fișierele mele sunt încărcate în mass-media

Am rezolvat acest lucru adăugând următoarele la blocul meu de server

  locație /media/ {
        root /home/user/app;
    }

Acum noul meu /etc/nginx/sites-enabled/app arata asa.

# /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 /media/ {
        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; 




}

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.