Puncte:1

nginx 403 Eroare interzisă, fără jurnal de erori. Instalare nouă pe sistemul ubuntu 20.04 existent

drapel ru

Încerc să înțeleg de ce această nouă instalare a nginx nu servește deloc fișiere. Am o configurație minimă a site-ului. (rtmp a funcționat ultima dată când am verificat, dar nu a mai fost nevoie de ceva timp. Tocmai am adăugat configurația portului 80. Menționez doar pentru că o veți vedea în configurație.)

Când încerc să accesez această gazdă (prin IP sau după nume de gazdă), primesc o eroare „403 (interzisă)”” afișată pe pagina web și nimic în fișierul /var/log/nginx/error.log. (Fișierul are zero octeți, chiar și după repornire și reîncercare.)

Toate celelalte întrebări pe care le-am găsit astfel pe serverfault, au ajutor în fișierul error.log. Deoarece error.log este gol, am creat această nouă întrebare.

Acest lucru se întâmplă atunci când încerc să folosesc facilitatea de index implicită și când încerc anumite fișiere, cum ar fi aceste exemple:

    http://hpmicro1
    http://hpmicro1.innerdomain.com
    http://hpmicro1.innerdomain.com/index.html
    http://192.168.1.5
    http://192.168.1.5/index.html
    http://192.168.1.5/index.php

și așa mai departe. După cum puteți vedea, acele fișiere există și sunt deținute de www-data:

    # ls -l /www/htdocs
    total 60
    -rw-rw-rw- 1 www-data www-data 35752 17 iulie 14:09 dbg-wizard.php
    drwxrwxr-x 2 www-data www-data 4096 Jul 16 08:15 funcții
    drwxrwxr-x 2 www-data www-data 4096 17 iulie 12:38 GetChats
    -rw-r--r-- 1 www-data www-data 10918 Jul 18 16:16 index.html
    -rw-rw-rw- 1 www-data www-data 20 iulie 17 14:18 index.php

    # ls -ld /www/htdocs
    drwxrwxr-x 5 www-data dennis 4096 18 iulie 16:22 /www/htdocs

Iată conținutul fișierului /etc/nginx/nginx.conf:

    # grep -v '^\s*#' /etc/nginx/nginx.conf
    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;
    
    
            includ /etc/nginx/mime.types;
            aplicație de tip_default/octet-stream;
    
    
            ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Eliminarea SSLv3, ref: POODLE
            ssl_prefer_server_ciphers activat;
    
    
            access_log /var/log/nginx/access.log;
            error_log /var/log/nginx/error.log;
    
    
            gzip on;
    
    
    
            includ /etc/nginx/conf.d/*.conf;
            includ /etc/nginx/sites-enabled/*;
    }
    
    
    
    
    
    rtmp {
        Server {
            asculta 1935;
            dimensiunea_bucătă 4096;
            notify_method get;
            
            aplicație WendellLive {
                on_publish http://localhost/auth;
                trăiește mai departe;
                înregistrarea oprită;
                calea_înregistrări /svr/rtmp-recordings;
                record_unique on;
    
                push rtmp://localhost/Wendell_YT;
                }
    
            aplicație Wendell_YT {
                trăiește mai departe;
                înregistrarea oprită;
    
                permite publicarea 127.0.0.1;
                refuza publicarea tuturor;
                push rtmp://a.rtmp.youtube.com/live2/<wendell_yt_stream_key>;
                }
            }
        }
    

Și configurația /etc/nginx/sites-enabled/default

    # grep -v '^\s*#' implicit
    
    Server {
            asculta 80 default_server;
            asculta [::]:80 default_server;
    
    
            rădăcină /www/htdocs; # Adăugat - Lovelady - 18-iul-2021
    
            index index.php index.html index.htm index.nginx-debian.html;
    
            nume_server home.lovelady.com;
    
            Locație / {
                    try_files $uri $uri/ =404;
            }
            locație /auth {
                dacă ($arg_pwd = 'secretul_meu_nu_tau') {
                    returnează 200;
                    }
                întoarce 401; # Neautorizat
                }
    
    
    }

Informații despre versiune:

    Versiunea nginx: nginx/1.18.0 (Ubuntu)
    
    >>> cat /etc/os-release
    NAME="Ubuntu"
    VERSION="20.04.2 LTS (Focal Fossa)"
    ID=ubuntu
    ID_LIKE=debian
    PRETTY_NAME="Ubuntu 20.04.2 LTS"
    VERSION_ID="20.04"
    HOME_URL="https://www.ubuntu.com/"
    SUPPORT_URL="https://help.ubuntu.com/"
    BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
    PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
    VERSION_CODENAME=focal
    UBUNTU_CODENAME=focal

Conținutul /var/log/nginx este:

    # ls -ltr /var/log/nginx/
    total 72
    -rw-r----- 1 www-data adm 480 Apr 5 23:19 error.log.3.gz
    -rw-r----- 1 www-data adm 464 20 mai 23:46 access.log.14.gz
    -rw-r----- 1 www-data adm 469 21 mai 23:46 access.log.13.gz
    -rw-r----- 1 www-data adm 468 22 mai 23:46 access.log.12.gz
    -rw-r----- 1 www-data adm 464 23 mai 23:47 access.log.11.gz
    -rw-r----- 1 www-data adm 472 24 mai 23:47 access.log.10.gz
    -rw-r----- 1 www-data adm 472 25 mai 23:47 access.log.9.gz
    -rw-r----- 1 www-data adm 464 26 mai 23:47 access.log.8.gz
    -rw-r----- 1 www-data adm 196 27 mai 01:17 access.log.7.gz
    -rw-r----- 1 www-data adm 97 28 mai 06:10 error.log.2.gz
    -rw-r----- 1 www-data adm 248 Jun 21 22:31 access.log.6.gz
    -rw-r----- 1 www-data adm 110 Jun 24 12:37 access.log.5.gz
    -rw-r----- 1 www-data adm 153 Jun 25 11:22 access.log.4.gz
    -rw-r----- 1 www-data adm 102 Jun 26 08:22 access.log.3.gz
    -rw-r----- 1 www-data adm 140 Jun 28 21:09 error.log.1
    -rw-r----- 1 www-data adm 0 Jun 29 00:00 error.log
    -rw-r----- 1 www-data adm 275 Jul 16 08:41 access.log.2.gz
    -rw-r----- 1 www-data adm 216 Jul 17 12:50 access.log.1
    -rw-r----- 1 www-data adm 193 Jul 18 16:07 access.log

access.log are această linie:

    # cat /var/log/nginx/access.log
    192.168.1.203 - - [18/Iul/2021:16:07:37 -0400] „GET / HTTP/1.1” 200 20 „-” „Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537HTML (Kit/537.1.203). , cum ar fi Gecko) Chrome/91.0.4472.124 Safari/537.36"

Ieșire nginx -T la cerere:

    nginx: sintaxa fișierului de configurare /etc/nginx/nginx.conf este ok
    nginx: fișierul de configurare /etc/nginx/nginx.conf testul a reușit
    # fișier de configurare /etc/nginx/nginx.conf:
    #
    # Ajutor URIAȘ de la acest site:
    # https://www.scaleway.com/en/docs/setup-rtmp-streaming-server/
    #
    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;
            tcp_nodelay activat;
            keepalive_timeout 65;
            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;
    #}
    #}
    
    
    
    rtmp {
        Server {
            asculta 1935;
            dimensiunea_bucătă 4096;
            notify_method get;
    
            aplicație love-uav {
                on_publish http://localhost/auth;
                trăiește mai departe;
                #Setați această opțiune la „înregistrare oprită” dacă nu doriți să salvați o copie a difuzării dvs.:
                #înregistrați toate;
                înregistrarea oprită;
                # Directorul în care vor fi stocate înregistrările
                calea_înregistrări /svr/rtmp-recordings;
                record_unique on;
    
                # Urmează restreaming
                push rtmp://localhost/love-uav_YT;
                #push rtmp://localhost/love-uav_Twitch;
                #push rtmp://localhost/love-uav_Facebook;
                }
    
            # Aplicație YouTube
            aplicație love-uav_YT {
                trăiește mai departe;
                înregistrarea oprită;
    
                # permite doar localhost să publice
                permite publicarea 127.0.0.1;
                refuza publicarea tuturor;
                # push URL cu cheia de flux YouTube
                push rtmp://a.rtmp.youtube.com/live2/jsqu-54jv-uw68-39tf-xxxx;
                }
    
            # Aplicație Twitch
            aplicație love-uav_Twitch {
                trăiește mai departe;
                înregistrarea oprită;
    
                # permite doar localhost să publice
                permite publicarea 127.0.0.1;
                refuza publicarea tuturor;
                # push URL cu cheia de flux Twitch
                push rtmp://live-cdg.twitch.tv/app/<love-uav__twitch_stream_key>;
                }
    
            aplicație love-uav_Facebook {
                trăiește mai departe;
                înregistrarea oprită;
    
                # permite doar localhost să publice
                permite publicarea 127.0.0.1;
                refuza publicarea tuturor;
                # push URL cu cheia de flux Facebook
                # push rtmps://live-api-s.facebook.com:443/rtmp/<love-uav__facebook_stream_key>;
                }
    
            aplicație WendellLive {
                on_publish http://localhost/auth;
                trăiește mai departe;
                #Setați această opțiune la „înregistrare oprită” dacă nu doriți să salvați o copie a difuzării dvs.:
                #înregistrați toate;
                înregistrarea oprită;
                # Directorul în care vor fi stocate înregistrările
                calea_înregistrări /svr/rtmp-recordings;
                record_unique on;
    
                # Urmează restreaming
                push rtmp://localhost/Wendell_YT;
                #push rtmp://localhost/Wendell_twitch;
                #push rtmp://localhost/Wendell_facebook;
                }
    
            # Aplicație YouTube
            aplicație Wendell_YT {
                trăiește mai departe;
                înregistrarea oprită;
    
                # permite doar localhost să publice
                permite publicarea 127.0.0.1;
                refuza publicarea tuturor;
                # push URL cu cheia de flux YouTube
                push rtmp://a.rtmp.youtube.com/live2/<wendell_yt_stream_key>;
                }
            }
        }
    
    # fișier de configurare /etc/nginx/modules-enabled/50-mod-http-image-filter.conf:
    load_module modules/ngx_http_image_filter_module.so;
    
    # fișier de configurare /etc/nginx/modules-enabled/50-mod-http-xslt-filter.conf:
    load_module modules/ngx_http_xslt_filter_module.so;
    
    # fișier de configurare /etc/nginx/modules-enabled/50-mod-mail.conf:
    load_module modules/ngx_mail_module.so;
    
    # fișier de configurare /etc/nginx/modules-enabled/50-mod-rtmp.conf:
    load_module modules/ngx_rtmp_module.so;
    
    # fișier de configurare /etc/nginx/modules-enabled/50-mod-stream.conf:
    load_module modules/ngx_stream_module.so;
    
    # fișier de configurare /etc/nginx/mime.types:
    
    tipuri {
        text/html html htm shtml;
        text/css css;
        text/xml xml;
        imagine/gif gif;
        imagine/jpeg jpeg jpg;
        aplicație/javascript js;
        aplicație/atom+xml atom;
        aplicație/rss+xml rss;
    
        text/mathml mml;
        text/txt simplu;
        text/vnd.sun.j2me.app-descriptor jad;
        text/vnd.wap.wml wml;
        text/x-component htc;
    
        imagine/png png;
        imagine/tiff tif tiff;
        imagine/vnd.wap.wbmp wbmp;
        imagine/x-icoană ico;
        imagine/x-jng jng;
        imagine/x-ms-bmp bmp;
        imagine/svg+xml svg svgz;
        imagine/webp webp;
    
        aplicație/font-woff woff;
        aplicație/java-arhivă jar war ear;
        aplicație/json json;
        aplicație/mac-binhex40 hqx;
        aplicație/msword doc;
        cerere/pdf pdf;
        aplicație/postscript ps eps ai;
        aplicație/rtf rtf;
        application/vnd.apple.mpegurl m3u8;
        application/vnd.ms-excel xls;
        application/vnd.ms-fontobject eot;
        application/vnd.ms-powerpoint ppt;
        application/vnd.wap.wmlc wmlc;
        application/vnd.google-earth.kml+xml kml;
        application/vnd.google-earth.kmz kmz;
        aplicație/x-7z-comprimat 7z;
        aplicare/x-cacao cco;
        application/x-java-archive-diff jardiff;
        aplicație/x-java-jnlp-fișier jnlp;
        aplicație/x-makeself rulează;
        application/x-perl pl pm;
        application/x-pilot prc pdb;
        application/x-rar-compressed rar;
        application/x-redhat-package-manager rpm;
        aplicare/x-mare mare;
        aplicație/x-shockwave-flash swf;
        application/x-stuffit sit;
        aplicație/x-tcl tcl tk;
        application/x-x509-ca-cert der pem crt;
        aplicație/x-xpinstall xpi;
        aplicație/xhtml+xml xhtml;
        aplicație/xspf+xml xspf;
        aplicare/zip zip;
    
        aplicație/octet-stream bin exe dll;
        application/octet-stream deb;
        application/octet-stream dmg;
        application/octet-stream iso img;
        aplicație/octet-stream msi msp msm;
    
        application/vnd.openxmlformats-officedocument.wordprocessingml.document docx;
        application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx;
        application/vnd.openxmlformats-officedocument.presentationml.presentation pptx;
    
        audio/midi mid midi kar;
        audio/mpeg mp3;
        audio/ogg ogg;
        audio/x-m4a m4a;
        audio/x-realaudio ra;
    
        video/3gpp 3gpp 3gp;
        video/mp2t ts;
        video/mp4 mp4;
        video/mpeg mpeg mpg;
        video/quicktime mov;
        video/webm webm;
        video/x-flv flv;
        video/x-m4v m4v;
        video/x-mng mng;
        video/x-ms-asf asx asf;
        video/x-ms-wmv wmv;
        video/x-msvideo avi;
    }
    
    # fișier de configurare /etc/nginx/sites-enabled/default:
    ##
    # Ar trebui să vă uitați la următoarele adrese URL pentru a înțelege o înțelegere solidă
    # de fișiere de configurare Nginx pentru a elibera pe deplin puterea lui Nginx.
    # https://www.nginx.com/resources/wiki/start/
    # https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/
    # https://wiki.debian.org/Nginx/DirectoryStructure
    #
    # În majoritatea cazurilor, administratorii vor elimina acest fișier de pe site-uri activate/ și
    # lăsați-l ca referință în interiorul site-urilor-disponibil acolo unde va continua să fie
    # actualizat de echipa de ambalare nginx.
    #
    # Acest fișier va încărca automat fișierele de configurare furnizate de alții
    # aplicații, cum ar fi Drupal sau Wordpress. Aceste cereri se vor face
    # disponibil sub o cale cu acel nume de pachet, cum ar fi /drupal8.
    #
    # Consultați /usr/share/doc/nginx-doc/examples/ pentru exemple mai detaliate.
    ##
    
    # Configurația implicită a serverului
    #
    Server {
            asculta 80 default_server;
            asculta [::]:80 default_server;
    
            # Configurare SSL
            #
            # asculta 443 ssl default_server;
            # asculta [::]:443 ssl default_server;
            #
            # Notă: ar trebui să dezactivați gzip pentru traficul SSL.
            # Vezi: https://bugs.debian.org/773332
            #
            # Citiți informații despre ssl_ciphers pentru a asigura o configurație sigură.
            # Vezi: https://bugs.debian.org/765782
            #
            # Certificate autosemnate generate de pachetul ssl-cert
            # Nu le folosiți pe un server de producție!
            #
            # include snippets/snakeoil.conf;
    
            #root /var/www/html; # Comentat - Lovelady - 18-iul-2021
            rădăcină /www/htdocs; # Adăugat - Lovelady - 18-iul-2021
    
            # Adăugați index.php la listă dacă utilizați PHP
            index index.php index.html index.htm index.nginx-debian.html;
    
            nume_server home.lovelady.com;
    
            Locație / {
                    # Mai întâi încercați să serviți cererea ca fișier, apoi
                    # ca director, apoi reveniți la afișarea unui 404.
                    try_files $uri $uri/ =404;
            }
            locație /auth {
                dacă ($arg_pwd = 'secretul_meu_nu_tau') {
                    returnează 200;
                    }
                întoarce 401; # Neautorizat
                }
    
            # treceți scripturile PHP către serverul FastCGI
            #
            #locație ~ \.php$ {
            # include snippets/fastcgi-php.conf;
            #
            # # Cu php-fpm (sau alte socket-uri Unix):
            # fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
            # # Cu php-cgi (sau alte socket-uri tcp):
            # fastcgi_pass 127.0.0.1:9000;
            #}
    
            # interzice accesul la fișierele .htaccess, dacă rădăcina documentului Apache
            # de acord cu cel al lui nginx
            #
            #locație ~ /\.ht {
            # nega totul;
            #}
    }
    
    
    # Configurarea gazdei virtuale pentru example.com
    #
    # Puteți muta asta într-un fișier diferit sub site-available/ și puteți trimite simbolul
    # la site-uri activate/ pentru a-l activa.
    #
    #Server {
    # asculta 80;
    # asculta [::]:80;
    #
    # server_name example.com;
    #
    # root /var/www/example.com;
    # index index.html;
    #
    #       Locație / {
    # try_files $uri $uri/ =404;
    #}
    #}

Eșec: introduceți descrierea imaginii aici

Gerard H. Pille avatar
drapel in
Ce conține index.php? Sunteți sigur că nginx rulează cu această configurație?
drapel ru
@GerardH.Pille - mulțumesc. index.php este un fișier minim: Aș înlocui asta cu un index real când instalarea funcționează.
Gerard H. Pille avatar
drapel in
„ls -ld /www” și testați cu curl pentru a elimina memoria cache a browserului
Gerard H. Pille avatar
drapel in
„openresty” este ceva mai mult decât o „configurare minimă a site-ului”. Nu atingeți configurația afișată.

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.