ฉันทำการบล็อกเมธอดอื่นที่ไม่ใช่ GET, POST และ OPTIONS ใน apache.conf และเมื่อฉันพยายามเรียกใช้เซิร์ฟเวอร์ผ่าน IP การบล็อกก็ใช้ได้
แต่เมื่อกำหนดค่าการบล็อกเดียวกันบนโดเมนย่อย (ผ่านเว็บไซต์ที่มี) การบล็อกนี้จะไม่เกิดขึ้น
ฉันทำอะไรผิดไปหรือเปล่า?
apache2.conf
<Directory /var/www/>
Options None
AllowOverride None
Require all granted
<LimitExcept GET POST OPTIONS>
Require all denied
</LimitExcept>
</Directory>
sites-available/subdomain.example.com.conf
<VirtualHost *:80>
ServerName subdomain.example.com
ServerAlias subdomain.example.com
DocumentRoot /var/www/html/subdomain.example.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Header append X-FRAME-OPTIONS "SAMEORIGIN"
RewriteCond %{REQUEST_URI} !^/\.well\-known/acme\-challenge/
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
</VirtualHost>
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /certs/example.crt
SSLCertificateKeyFile /certs/example.key
SSLCertificateChainFile /certs/example-intermediary.crt
Protocols h2 http/1.1
Header always set Strict-Transport-Security "max-age=31536000"
Header append X-FRAME-OPTIONS "SAMEORIGIN"
<Directory /var/www/html/subdomain.example.com>
Options None
AllowOverride None
Require all granted
<LimitExcept GET POST OPTIONS>
Require all denied
</LimitExcept>
</Directory>
ServerName subdomain.example.com
ServerAlias subdomain.example.com
DocumentRoot /var/www/html/subdomain.example.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
การล็อกนี้ไม่ทำงาน เนื่องจากเมื่อดำเนินการคำขอด้วย PUT, DELETE, LOCK ฯลฯ เนื้อหาของหน้าจะถูกส่งกลับตามปกติ