ฉันใช้ Apache 2.4.41 บน Ubuntu 20.04 และไม่สามารถรับคำสั่ง Require ใดๆ ที่ทำงานบน VirtualHost ของฉันได้ ตัวอย่างการทำงานขั้นต่ำ ไฟล์ 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>
มีวัตถุประสงค์เพื่อบล็อกการเข้าถึงทั้งหมด แต่บันทึกแสดง:
[authz_core:debug] [pid 340724] mod_authz_core.c(735): [client ***.***.***.***:59008] AH01625: ผลการอนุญาตของ <RequireAny>: อนุญาต (คำสั่งจำกัดที่ วิธีอื่นๆ)
ฉันไม่เห็นการแทนที่ใดๆ บนการทำงานแบบต้องการที่อื่นในแผนผังการกำหนดค่า Apache ของฉัน ตัวอย่างเช่น /etc/apache2/apache.conf
ประกอบด้วย:
<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>
โมดูลของฉันที่โหลดคือ:
โหลดโมดูล:
core_module (คงที่)
so_module (คงที่)
watchdog_module (คงที่)
http_module (คงที่)
log_config_module (คงที่)
logio_module (คงที่)
version_module (คงที่)
unixd_module (คงที่)
access_compat_module (แชร์)
alias_module (แชร์)
auth_basic_module (แชร์)
authn_core_module (แชร์)
authn_file_module (แชร์)
authz_core_module (แชร์)
authz_host_module (แชร์)
authz_user_module (แชร์)
autoindex_module (แชร์)
cgi_module (แชร์)
deflate_module (ใช้ร่วมกัน)
dir_module (แชร์)
env_module (แชร์)
filter_module (แชร์)
headers_module (แชร์)
mime_module (แชร์)
mpm_prefork_module (แชร์)
โมดูลการเจรจาต่อรอง (ใช้ร่วมกัน)
php7_module (แชร์)
proxy_module (แชร์)
proxy_http_module (แชร์)
remoteip_module (แชร์)
reqtimeout_module (แชร์)
rewrite_module (แชร์)
setenvif_module (แชร์)
socache_shmcb_module (แชร์)
ssl_module (แชร์)
status_module (แชร์)
apachectl -t
และ apachectl -S
ให้เอาต์พุตมาตรฐาน
มีใครคิดว่าฉันควรจะดูที่ไหนต่อไป?
(คำเตือน: Apache 2.4 ไม่ใช่ Apache 2.2 ดังนั้นต้องการใช้คำศัพท์ปัจจุบัน)