Puncte:0

Opțiunea Apache Indexes funcționează pentru HTTP, dar nu și pentru HTTPS

drapel lk

Testez cu o instalare vanilla de Rocky Linux 8.4 și Apache 2.4. Am o gazdă virtuală configurată și funcționează și am configurat și Lets Encrypt cert prin Certbot, de asemenea, funcționează grozav.

Vreau să permit listări de directoare într-un anumit folder, așa că am activat Indexurile de opțiuni, acest lucru funcționează conform așteptărilor prin HTTP, dar prin HTTPS primesc 403 Interzis. Scriptul Certbot a inserat regula de rescriere, dar nu cred că aceasta este problema, am încercat să o dezactivez pentru a putea testa prin HTTP și nu face nicio diferență, dar includerea acesteia aici în cazul în care este de fapt relevant.

Conf. de gazdă virtuală arată astfel:

<VirtualHost *:80>
    ServerName test.prot0type.com
    ServerAlias test.prot0type.com
    DocumentRoot /var/www/test.prot0type.com

    <Directory /var/www/test.prot0type.com/test>
        Options +Indexes
    </Directory>

    RewriteEngine on
    RewriteCond %{SERVER_NAME} =test.prot0type.com
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

<VirtualHost *:443>
    ServerName test.prot0type.com
    ServerAlias test.prot0type.com
    DocumentRoot /var/www/test.prot0type.com

    <Directory /var/www/test.prot0type.com/test>
        Options +Indexes
    </Directory>

</VirtualHost>

Accesarea http://test.prot0type.com/test/ functioneaza conform asteptarilor.

Accesarea https://test.prot0type.com/test/ rezultă în 403 și în jurnalul de erori primesc:

Nu se poate servi directorul /var/www/test.prot0type.com/test/: Nu s-a găsit nicio potrivire DirectoryIndex (index.html) și indexul directorului generat de server este interzis de directiva Opțiuni

Cum aflu ce directivă Opțiuni face acest lucru? Am căutat în toate fișierele de conf, dar nu le-am găsit.

digijay avatar
drapel mx
Se pare că nu aveți o configurație VirtualHost pentru portul 443, așa că obțineți un 403 dacă încercați să vă conectați la acel port.
tgflash avatar
drapel lk
Dar face fișiere server prin HTTPS pentru această gazdă virtuală. Singura problemă este că configurația +Indexes funcționează numai pentru HTTP. Am încercat să dublez configurația gazdei virtuale și să schimb portul la 443, dar nici asta nu funcționează. Cred că trebuie să fie că ceva suprascrie setarea în altă parte din configurație, dar am căutat în toate fișierele și nu l-am găsit.Există o modalitate de a diagnostica de unde provine o directivă?
tgflash avatar
drapel lk
Am editat întrebarea inițială pentru a clarifica modul în care am testat.
Michael Hampton avatar
drapel cz
Vă rugăm să afișați `` blocuri.
digijay avatar
drapel mx
Configurației 443 îi lipsește întreaga configurație TLS/SSL (`SSLEngine On` etc.)
tgflash avatar
drapel lk
Ah! Multumesc pentru sugestii, acum am rezolvat-o. Când verific fișierele de conf, am omis că script-ul certbot creează un ssl.conf separat pentru fiecare gazdă virtuală și acolo era directiva Options suplimentară. Deci, în exemplul meu, acest fișier se numește test.prot0type.com-le-ssl.conf Deci, soluția a fost editarea blocului Virtual Host din acel fișier, care este pentru cazul portului 443, așa că acum listarea directoarelor funcționează atât pentru HHTP, cât și pentru HTTPS. Mulțumesc celor care m-au îndreptat în direcția bună!

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.