Puncte:0

Nu se pot servi fișiere statice folosind serverul Nginx (Eroarea Nginx 403 interzisă)

drapel bs

Am Nginx 1.18.0 instalat pe Ubuntu 20.04. Încerc să difuzez (multe) fișiere HTML personalizate prin Nginx. Fișierele HTML conțin animații de imagini online și cartografiere. Unele fișiere HTML au și fișiere JS și CSS asociate.

În loc să folosesc valorile implicite, am creat un bloc de server domeniul_meu ca aceasta:

mkdir -p /var/www/domeniul_meu/html
chown -R numele_de_utilizator_meu /var/www/domeniul_meu/html
chmod -R 755 /var/www/domeniul_meu
ln -s /etc/nginx/sites-available/my_domain /etc/nginx/sites-enabled/

Apoi, ca test, am pus my_html1.html (aici, fără JS/CSS asociat) în interior /var/www/domeniul_meu/html și am încercat să acceseze prin browserul Mozilla Firefox. eu primesc 403 Eroare interzisă.

Am căutat pe google eroarea și am încercat sugestiile oferite Aici, dar până acum, fără succes. De exemplu, am încercat să atribui dreptul de proprietate asupra domeniul_meu director către utilizatorul www-data, dar nu a ajutat.

chown -R www-data:www-data /etc/nginx/sites-available/my_domain

Acesta este modul meu nginx.conf arată ca.

utilizator www-date;
worker_proceses auto;
pid /run/nginx.pid;
includ /etc/nginx/modules-enabled/*.conf;
evenimente {
        conexiuni_muncitor 768;
}
http {
        sendfile activat;
        tcp_nopush activat;
        tcp_nodelay activat;
        keepalive_timeout 65;
        types_hash_max_size 2048;
        server_names_hash_bucket_size 64;
        includ /etc/nginx/conf.d/*.conf;
        includ /etc/nginx/sites-enabled/*;
}

și /etc/nginx/sites-available/my_domain

Server {
        asculta 80;

        root /var/www/domeniul_meu/html;
        index my_html1.html;

        nume_server domeniul_meu www.domeniul_meu;

        Locație / {
                try_files $uri $uri/ =404;
                autoindex activat;
                autoindex_exact_size dezactivat;
        }
}

Ma poate ajuta cineva sa rezolv aceasta problema?

drookie avatar
drapel za
Răspunsul este întotdeauna în `error.log`.
khajlk avatar
drapel bs
Jurnalul de erori spune despre permisiunea refuzată, în special, `*16 open() "/var/www/my_domain/html/my_html_file.html" eșuat (13: Permisiune refuzată), client: 127.0.0.1, server: my_domain, cerere: „GET /my_html_file.html HTTP/1.1”,` dar, cred, acest lucru este clar și din eroarea 403 a browserului.
drookie avatar
drapel za
Apoi, nginx nu are decât permisiunea de *citire/executare* pe directoare și *citire* pe fișiere.
khajlk avatar
drapel bs
Ați vrut să spuneți că utilizatorul `www-data` nu are aceste permisiuni? deci, `chown 755 -R www-data path/to/directory` este ceea ce am nevoie?
khajlk avatar
drapel bs
Sunt atent în a da permisiuni inutile și vreau să evit chmod 777. Vrei să postezi răspunsul sugerat?
drookie avatar
drapel za
nu. Este mult sub nivelul de bază.
khajlk avatar
drapel bs
și care este nivelul de bază necesar?
drookie avatar
drapel za
Cea care vine după ce ai citit o carte aleatorie despre UNIX (probabil nu până la sfârșit) și ți-ai căutat întrebarea pe google (probabil că ai apăsat butonul *Feeling lucky*).
djdomi avatar
drapel za
vă rugăm să distribuiți rezultatul lui `ls -Rl var/www/my_domain/html/`

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.