Puncte:0

Apache 2.4: Directiva Solicitare (de exemplu, toate refuzate) nu este onorată

drapel mx

Rulez Apache 2.4.41 pe Ubuntu 20.04 și nu pot obține nicio directivă Require care funcționează pe VirtualHost-ul meu. Ca exemplu minim de lucru, fișierul meu VHost:

<VirtualHost *:80>
        ServerName my.domain.com
        DocumentRoot "/var/www/html/admin"

        <Directory /var/www/html/admin>
               Require all denied
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

are scopul de a bloca orice acces, dar jurnalul arată:

[authz_core:debug] [pid 340724] mod_authz_core.c(735): [client ***.***.***.***:59008] AH01625: rezultatul autorizației <RequireAny>: acordat (directiva limitată la alte metode)

Nu pot vedea nicio modificare a comportamentului Require în altă parte în arborele meu de configurare Apache. De exemplu, /etc/apache2/apache.conf contine:

<Directory />
        Options FollowSymLinks
        AllowOverride None
        Require all denied
</Directory>

<Directory /usr/share>
        AllowOverride None
        Require all granted
</Directory>

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
</Directory>

Modulele mele încărcate sunt:

Module încărcate:
 core_module (static)
 so_module (static)
 watchdog_module (static)
 http_module (static)
 log_config_module (static)
 logio_module (static)
 version_module (static)
 unixd_module (static)
 access_compat_module (partajat)
 alias_module (partajat)
 auth_basic_module (partajat)
 authn_core_module (partajat)
 authn_file_module (partajat)
 authz_core_module (partajat)
 authz_host_module (partajat)
 authz_user_module (partajat)
 autoindex_module (partajat)
 cgi_module (partajat)
 deflate_module (partajat)
 dir_module (partajat)
 env_module (partajat)
 filter_module (partajat)
 headers_module (partajat)
 mime_module (partajat)
 mpm_prefork_module (partajat)
 negotiation_module (partajat)
 php7_module (partajat)
 proxy_module (partajat)
 proxy_http_module (partajat)
 remoteip_module (partajat)
 reqtimeout_module (partajat)
 rewrite_module (partajat)
 setenvif_module (partajat)
 socache_shmcb_module (partajat)
 ssl_module (partajat)
 status_module (partajat)

apachectl -t și apachectl -S da ieșire standard.

Are cineva vreo idee despre unde ar trebui să mă uit în continuare?

(Memento: Apache 2.4 nu Apache 2.2, deci caut să folosiți terminologia actuală)

djdomi avatar
drapel za
Răspunde asta la întrebarea ta? [Cum să interziceți accesul web la unele fișiere?](https://serverfault.com/questions/22577/how-to-deny-the-web-access-to-some-files) IMHO, se pare că ați ratat ` comanda `
MartinV avatar
drapel mx
Bună, mulțumesc pentru timpul acordat comentariului. Din păcate, articolul legat a fost pentru Apache 2.2, nu Apache 2.4. Terminologia a fost depreciată în versiunile ulterioare.
Puncte:0
drapel mx

Mulțumesc tuturor celor care mi-au citit întrebarea - am găsit o soluție și m-am gândit să o împărtășesc.

Mi-am mutat arborele Apache2 într-o parte și am reinstalat pachetele relevante din depozit. Suita de directive Require a funcționat din nou, așa că am comparat arborii vechi și noi pentru a găsi diferențe.

Am găsit o directivă obscură care conține o comandă Require all pe care am plasat-o în directorul meu activat pentru conf și aceasta s-a dovedit a fi cauza problemei.

Deci, dacă există probleme cu directivele Apache, merită să verificați mai mult decât apache2.conf și directorul vhosts - lucrați și prin directoarele conf și mods!

Noroc

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.