Estoy ejecutando Apache 2.4 y de acuerdo con la documentación que encontré en el sitio web de Apache (http://httpd.apache.org/docs/current/sections.html), en la sección "Cómo se fusionan las secciones", dice que las configuraciones del host virtual deben anular las configuraciones del servidor.
Tengo una expresión regular de configuración del servidor de coincidencia de archivos para evitar el acceso público a archivos importantes de WordPress usando la lógica de "orden denegar, permitir":
<FilesMatch "wp-login\.php|xmlrpc\.php|admin-ajax\.php">
Include conf/global_acl.conf
</FilesMatch>
Luego, en mi host virtual tengo otra coincidencia de archivos para permitir el acceso específico a ciertos archivos para habilitar un complemento de WordPress:
<FilesMatch "^(xmlrpc|wp-trackback)\.php$">
Order Deny,Allow
Allow from wordpress.com
Allow from 123.123.123.123
</FilesMatch>
Mi objetivo es que el proceso de permiso de configuración del servidor sea heredado por el host virtual y luego el host virtual analice las directivas de permiso adicionales. No parece estar funcionando. Si modifico el nivel del servidor eliminando el archivo xmlrpc, el host virtual funcionará.
EDITAR
Para aclarar la confusión, mi problema es que bajo el host virtual, se me niega aunque esté usando la IP 123.123.123.123. Espero que el host virtual herede las entradas de la lista blanca de la configuración del servidor. Luego, tener permisos adicionales en la lista blanca en la configuración de virtualhost. Tengo un DENEGAR DE TODOS en la parte superior de la configuración de mi servidor.
¿Alguna idea de lo que está pasando? ¡Gracias de antemano!
Respuesta1
Un cambio realizado en 2.4 fue el reemplazo de la sintaxis.Permitir desdepor el nuevoRequerir todo concedidoy similares. Verdocumento de actualización de apachesecciónControl de acceso.
Hay un módulo de compatibilidad que puede utilizar para evitar cambios. Si lo utilizas, y eliges Order Deny,Allow
entonces si no tienes Deny
declaraciones, se permitirán todos los accesos (vercompatibilidad con apache: Orden).
Entonces use Order Allow,Deny
o agregue un archivo Deny from all
.