From 3179994bd727b840bdd17fb9aa9dce81a34be2e5 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Andr=C3=A9=20Malo?= Date: Sun, 12 Jun 2005 09:09:59 +0000 Subject: [PATCH] mod_version_for_2.0.x branch: * Merge 179253 to 190230 from branches/2.0.x git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/mod_version_for_2.0.x@190231 13f79535-47bb-0310-9956-ffa450edef68 --- CHANGES | 8 + STATUS | 33 +- docs/conf/httpd-std.conf.in | 1 + docs/conf/httpd-win.conf | 1 + docs/manual/dns-caveats.html | 4 + docs/manual/dns-caveats.html.en | 2 + docs/manual/dns-caveats.html.es | 266 ++++++++++++ docs/manual/dns-caveats.html.fr | 2 + docs/manual/dns-caveats.html.ja.euc-jp | 2 + docs/manual/dns-caveats.html.ko.euc-kr | 2 + docs/manual/dns-caveats.xml.es | 253 ++++++++++++ docs/manual/dns-caveats.xml.meta | 1 + docs/manual/env.html | 4 + docs/manual/env.html.en | 2 + docs/manual/env.html.es | 434 ++++++++++++++++++++ docs/manual/env.html.fr | 2 + docs/manual/env.html.ja.euc-jp | 2 + docs/manual/env.html.ko.euc-kr | 2 + docs/manual/env.xml.es | 472 +++++++++++++++++++++ docs/manual/env.xml.meta | 1 + docs/manual/install.html.es | 29 +- docs/manual/install.xml.es | 27 +- docs/manual/install.xml.meta | 2 +- docs/manual/sections.html | 4 + docs/manual/sections.html.en | 2 + docs/manual/sections.html.es | 490 ++++++++++++++++++++++ docs/manual/sections.html.ja.euc-jp | 2 + docs/manual/sections.html.ko.euc-kr | 2 + docs/manual/sections.xml.es | 541 +++++++++++++++++++++++++ docs/manual/sections.xml.meta | 1 + modules/mappers/mod_userdir.c | 2 +- modules/ssl/ssl_engine_kernel.c | 2 +- 32 files changed, 2562 insertions(+), 36 deletions(-) create mode 100644 docs/manual/dns-caveats.html.es create mode 100644 docs/manual/dns-caveats.xml.es create mode 100644 docs/manual/env.html.es create mode 100644 docs/manual/env.xml.es create mode 100644 docs/manual/sections.html.es create mode 100644 docs/manual/sections.xml.es diff --git a/CHANGES b/CHANGES index 234e15a147f..3e51c2b053b 100644 --- a/CHANGES +++ b/CHANGES @@ -7,6 +7,14 @@ Changes with Apache 2.0.55 accompanying ap_version_t structure (minor MMN bump). [André Malo] + *) SECURITY: CAN-2005-1268 (cve.mitre.org) + mod_ssl: Fix off-by-one overflow whilst printing CRL information + at "LogLevel debug" which could be triggered if configured + to use a "malicious" CRL. PR 35081. [Marc Stern ] + + *) mod_userdir: Fix possible memory corruption issue. PR 34588. + [David Leonard ] + *) worker mpm: don't take down the whole server for a transient thread creation failure. PR 34514 [Greg Ames] diff --git a/STATUS b/STATUS index c0533dac208..4b9472883d0 100644 --- a/STATUS +++ b/STATUS @@ -235,12 +235,6 @@ PATCHES TO BACKPORT FROM TRUNK: PR: 34452 +1: jorton - *) mod_userdir: fix to palloc(sizeof struct) not palloc(sizeof pointer) - http://svn.apache.org/viewcvs?rev=165151&view=rev - PR: 34588 - +1: jorton, bnicholes, trawick (isn't it worth a CHANGES entry for a storage - corruption fix?) - *) fix z/OS annoyance with pathname on debug messages in error log http://svn.apache.org/viewcvs?rev=178299&view=rev +1: trawick @@ -255,8 +249,35 @@ PATCHES TO BACKPORT FROM TRUNK: *) Support the suppress-error-charset setting, as with Apache 1.3.x. PR 31274. (current docs say it works with Apache from 2.0.40 ;) ) http://svn.apache.org/viewcvs?rev=170354&view=rev + +1: trawick, jorton + + *) Downgrade the log level of a worker MPM apr_proc_mutex_foo error + message when it occurs during restart (as we already do for a couple + of other calls). + http://svn.apache.org/viewcvs?rev=179317&view=rev + +1: trawick, jorton + + *) proxy FTP: Fix confusion about globbing characters which could lead + to getting a directory listing when a file was requested. PR 34512. + 2.1 patch was http://svn.apache.org/viewcvs?rev=179704&view=rev + 2.0 version: http://people.apache.org/~trawick/179704-20.txt + +1: trawick, jorton + + *) mod_mime_magic: Handle CRLF-format magic files so that it works with + the default installation on Windows. + http://svn.apache.org/viewcvs?rev=179622&view=rev +1: trawick + *) mod_cache: Fix handling of 'Vary: *". PR 16125. + Trunk: r180341 + 2.0.x Patch: http://issues.apache.org/bugzilla/attachment.cgi?id=15297 + +1: pquerna + + *) mod_ssl: Fix buffering in SSL output filter. + http://svn.apache.org/viewcvs?rev=189971&view=rev + PR: 35279 + +1: jorton + PATCHES TO BACKPORT THAT ARE ON HOLD OR NOT GOING ANYWHERE SOON: *) Remove LDAP toolkit specific code from util_ldap and mod_auth_ldap. diff --git a/docs/conf/httpd-std.conf.in b/docs/conf/httpd-std.conf.in index 2c15753b906..e68a76dad94 100644 --- a/docs/conf/httpd-std.conf.in +++ b/docs/conf/httpd-std.conf.in @@ -962,6 +962,7 @@ BrowserMatch "JDK/1\.0" force-response-1.0 # Same deal with Apple's DAV filesystem and Gnome VFS support for DAV. # BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully +BrowserMatch "MS FrontPage" redirect-carefully BrowserMatch "^WebDrive" redirect-carefully BrowserMatch "^WebDAVFS/1.[0123]" redirect-carefully BrowserMatch "^gnome-vfs" redirect-carefully diff --git a/docs/conf/httpd-win.conf b/docs/conf/httpd-win.conf index e22cd9dbf5f..aee7dd346b9 100644 --- a/docs/conf/httpd-win.conf +++ b/docs/conf/httpd-win.conf @@ -881,6 +881,7 @@ BrowserMatch "JDK/1\.0" force-response-1.0 # Same deal with Apple's DAV filesystem and Gnome VFS support for DAV. # BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully +BrowserMatch "MS FrontPage" redirect-carefully BrowserMatch "^WebDrive" redirect-carefully BrowserMatch "^WebDAVFS/1.[0123]" redirect-carefully BrowserMatch "^gnome-vfs" redirect-carefully diff --git a/docs/manual/dns-caveats.html b/docs/manual/dns-caveats.html index 8c9d7fda934..9588aa8b73b 100644 --- a/docs/manual/dns-caveats.html +++ b/docs/manual/dns-caveats.html @@ -2,6 +2,10 @@ URI: dns-caveats.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 +URI: dns-caveats.html.es +Content-Language: es +Content-type: text/html; charset=ISO-8859-1 + URI: dns-caveats.html.fr Content-Language: fr Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/dns-caveats.html.en b/docs/manual/dns-caveats.html.en index 8135a272fb8..7678172ee05 100644 --- a/docs/manual/dns-caveats.html.en +++ b/docs/manual/dns-caveats.html.en @@ -19,6 +19,7 @@ Apache > HTTP Server > Documentation > Version 2.0

Issues Regarding DNS and Apache

Available Languages:  en  | + es  |  fr  |  ja  |  ko 

@@ -232,6 +233,7 @@

Available Languages:  en  | + es  |  fr  |  ja  |  ko 

diff --git a/docs/manual/dns-caveats.html.es b/docs/manual/dns-caveats.html.es new file mode 100644 index 00000000000..ed28bf68b33 --- /dev/null +++ b/docs/manual/dns-caveats.html.es @@ -0,0 +1,266 @@ + + + +Asuntos relacionados con Apache y las DNS - Servidor HTTP Apache + + + + + +
<-
+

Asuntos relacionados con Apache y las DNS

+
+

Idiomas disponibles:  en  | + es  | + fr  | + ja  | + ko 

+
+ +

Este documento puede resumirse en la siguiente frase: no + configure Apache de manera que el análisis sintáctico de + los ficheros de configuración tenga que confiar en + resoluciones DNS. Si Apache necesita de resoluciones DNS para + analizar los ficheros de configuración, entonces su servidor + puede no funcionar correctamente (por ejemplo, podría no + iniciarse), o sufrir ataques de denegación o robo de servicio + (incluyendo que otas web puedan "robar" peticiones de otras + web).

+
+ +
top
+
+

Un ejemplo sencillo

+ + +

+ <VirtualHost www.abc.com>
+ ServerAdmin webgirl@abc.com
+ DocumentRoot /www/abc
+ </VirtualHost> +

+ +

Para que Apache funcione correctamente, es imprescindible + conocer dos aspectos sobre cada host virtual: el valor de la + directiva ServerName y al + menos una dirección IP en la que servidor escuchará y + responderá a las peticiones que se produzcan. El ejemplo + mostrado arriba no incluye la direccion IP, de manera que Apache + tiene que usar una resolución DNS para encontrar la + dirección IP correspondiente a www.abc.com. Si + por alguna razón la resolución DNS no está + disponible en el momento en que su servidor está analizando + sintánticamente su fichero de configuración, entonces + este host virtual no se configurará y no + será capaz de responder a ninguna de las peticiones que se + hagan a ese host virtual (en las versiones de Apache anteriores a + la 1.2 el servidor ni siquiera se iniciaba).

+ +

Suponga que www.abc.com tiene como dirección + IP la 10.0.0.1. Considere la siguiente configuración:

+ +

+ <VirtualHost 10.0.0.1>
+ ServerAdmin webgirl@abc.com
+ DocumentRoot /www/abc
+ </VirtualHost> +

+ +

Ahora Apache necesita hacer una búsqueda DNS inversa para + encontrar el ServerName de este host virtual. Si esta + búsqueda inversa falla entonces el host virtual se + desactivará parcialmente (en las versiones de Apache + anteriores a la 1.2 el servidor ni siquiera se iniciaba). Si el + host virtual está basado en el nombre, entonces se + desactivará completamente, pero si está basado en la + dirección IP, entonces funcionará para la mayor parte de + las cosas. Sin embargo, si Apache tiene que generar en algún + momento una URL completa que incluya el nombre del servidor, no + será capaz de generar una URL válida.

+ +

Aquí tiene una forma de evitar ambos problemas:

+ +

+ <VirtualHost 10.0.0.1>
+ ServerName www.abc.com
+ ServerAdmin webgirl@abc.com
+ DocumentRoot /www/abc
+ </VirtualHost> +

+
top
+
+

Denegación de servicio

+ + +

Hay (al menos) dos formas de que ocurra una denegación de + servicio. Si está ejecutando una versión de Apache + anterior a la 1.2, entonces su servidor no se iniciará si una + de las dos búsquedas de DNS mencionadas arriba falla para + cualquiera de sus hosts virtuales. En algunos casos estas + búsquedas DNS puede que no estén bajo su control; por + ejemplo, si abc.com es uno de sus clientes y ellos + controlan su propia DNS, pueden forzar a su servidor (pre-1.2) a + fallar al iniciarse simplemente borrando el registro + www.abc.com.

+ +

Otra formas pueden ser bastante más complicadas. Fíjese + en esta configuración:

+ +

+ <VirtualHost www.abc.com>
+   ServerAdmin webgirl@abc.com
+   DocumentRoot /www/abc
+ </VirtualHost>
+
+ <VirtualHost www.def.com>
+   ServerAdmin webguy@def.com
+   DocumentRoot /www/def
+ </VirtualHost> +

+ +

Suponga que ha asignado la dirección 10.0.0.1 a + www.abc.com y 10.0.0.2 a + www.def.com. Todavía más, suponga que + def.com tiene el control de sus propias DNS. Con esta + configuración ha puesto def.com en una + posición en la que puede robar todo el trafico destinado a + abc.com. Para conseguirlo, todo lo que tiene que + hacer es asignarle a www.def.com la dirección + 10.0.0.1. Como ellos controlan sus propias DNS no puede evitar que + apunten el registro www.def.com a donde quieran.

+ +

Las peticiones dirigidas a la dirección 10.0.0.1 + (incluídas aquellas en las los usuarios escriben URLs de tipo + http://www.abc.com/whatever) serán todas + servidas por el host virtual def.com. Comprender por + qué ocurre esto requiere una discusión más profunda + acerca de como Apache asigna las peticiones que recibe a los hosts + virtuales que las servirán. Puede consultar aquí un documento que trata el + tema.

+
top
+
+

La dirección del "servidor principal"

+ + +

El que Apache soporte hosting + virtual basado en nombres desde la version 1.1 hace que sea + necesario que el servidor conozca la dirección (o + direcciones) IP del host que httpd está + ejecutando. Para tener acceso a esta dirección puede usar la + directiva global ServerName + (si está presente) o llamar a la función de C + gethostname (la cuál debe devolver el mismo + resultado que devuelve ejecutar por línea de comandos + "hostname"). Entonces se produce una búsqueda DNS de esa + dirección. Actualmente, no hay forma de evitar que se + produzca esta búsqueda.

+ +

Si teme que esta búsqueda pueda fallar porque su servidor + DNS está desactivado entonces puede insertar el nombre de + host en /etc/hosts (donde probablemente ya lo tiene + para que la máquina pueda arrancar + correctamente). Asegúrese de que su máquina está + configurada para usar /etc/hosts en caso de que esa + búsqueda DNS falle. En función del sistema operativo que + use, puede conseguir esto editando /etc/resolv.conf, + o puede que /etc/nsswitch.conf.

+ +

Si su servidor no tiene que ejecutar búsquedas DNS por + ninguna otra razón entonces considere ejecutar Apache + especificando el valor "local" en la variable de entorno + HOSTRESORDER. Todo esto depende del sistema operativo + y de las librerías de resolución que use. Esto + también afecta a los CGIs a menos que use + mod_env para controlar el entorno. Por favor, + consulte las páginas de ayuda o la sección de Preguntas + Más Frecuentes de su sistema operativo.

+
top
+
+

Consejos para evitar problemas

+ + +
    +
  • + use direcciones IP en + VirtualHost +
  • + +
  • + use direcciones IP en + Listen +
  • + +
  • + asegúrese de que todos los host virtuales tienen + explícitamente especificados una directiva ServerName +
  • + +
  • cree un servidor <VirtualHost _default_:*> + que no tenga páginas que servir.
  • +
+
top
+
+

Apéndice: Líneas de evolución de Apache

+ + +

La situación actual respecto a las búsquedas DNS + está lejos de ser la deseable. En Apache 1.2 se intentó + hacer que el servidor al menos se iniciara a pesar de que fallara + la búsqueda DNS, pero puede que esa no sea la mejor + solución. En cualquier caso, requerir el uso de direcciones + IP explícitas en los ficheros de configuración no es ni + mucho menos una solución deseable con la situación + actual de Internet, donde la renumeración es una + necesidad.

+ +

Una posible solución a los ataques de robo de servicio + descritos más arriba, sería hacer una búsqueda DNS + inversa de la dirección IP devuelta por la búsqueda + previa y comparar los dos nombres -- en caso de que sean + diferentes, el host virtual se desactivaría. Esto + requeriría configurar correctamente DNS inverso (una tarea + con la que suelen estar familiarizados la mayoría de los + administradores de sistemas).

+ +

En cualquier caso, no parece posible iniciar en las condiciones + apropiadas un servidor web alojado virtualmente cuando DNS ha + fallado a no ser que se usen direcciones IP. Soluciones parciales + tales como desactivar partes de la configuración podrían + ser incluso peores que no iniciar el servidor en absoluto, + dependiendo de las funciones que se espera que realice el servidor + web.

+ +

Como HTTP/1.1 está ampliamente extendido y los navegadores + y los servidores proxy empiezan a usar la cabecera + Host, en el futuro será posible evitar el uso de + hosting virtual basado en direcciones IP completamente. En ese + caso, un servidor web no tiene ninguna necesidad de hacer + búsquedas de DNS durante la configuración. Sin embargo, + en Marzo de 1997 esas funcionalidades no estaban lo + suficientemente implantadas como para ponerlas en uso en + servidores web que realizaban tareas de importancia + crítica.

+
+
+

Idiomas disponibles:  en  | + es  | + fr  | + ja  | + ko 

+
+ \ No newline at end of file diff --git a/docs/manual/dns-caveats.html.fr b/docs/manual/dns-caveats.html.fr index ec18ef3b4cc..6ff42b956ae 100644 --- a/docs/manual/dns-caveats.html.fr +++ b/docs/manual/dns-caveats.html.fr @@ -19,6 +19,7 @@ Apache > Serveur HTTP > Documentation > Version 2.0

Problèmes DNS avec Apache

Langues Disponibles:  en  | + es  |  fr  |  ja  |  ko 

@@ -242,6 +243,7 @@

Langues Disponibles:  en  | + es  |  fr  |  ja  |  ko 

diff --git a/docs/manual/dns-caveats.html.ja.euc-jp b/docs/manual/dns-caveats.html.ja.euc-jp index 1fe7c55fc64..0ac3ae92a96 100644 --- a/docs/manual/dns-caveats.html.ja.euc-jp +++ b/docs/manual/dns-caveats.html.ja.euc-jp @@ -19,6 +19,7 @@ Apache > HTTP ¥µ¡¼¥Ð > ¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó > ¥Ð¡¼¥¸¥ç¥ó 2.0

DNS ¤È Apache ¤Ë¤Þ¤Ä¤ï¤ëÃí°Õ»ö¹à

Available Languages:  en  | + es  |  fr  |  ja  |  ko 

@@ -236,6 +237,7 @@

Available Languages:  en  | + es  |  fr  |  ja  |  ko 

diff --git a/docs/manual/dns-caveats.html.ko.euc-kr b/docs/manual/dns-caveats.html.ko.euc-kr index 46bc29f67fa..a58855cc44f 100644 --- a/docs/manual/dns-caveats.html.ko.euc-kr +++ b/docs/manual/dns-caveats.html.ko.euc-kr @@ -19,6 +19,7 @@ Apache > HTTP Server > Documentation > Version 2.0

DNS¿Í ¾ÆÆÄÄ¡¿Í °ü·ÃµÈ »çÇ×

°¡´ÉÇÑ ¾ð¾î:  en  | + es  |  fr  |  ja  |  ko 

@@ -216,6 +217,7 @@

°¡´ÉÇÑ ¾ð¾î:  en  | + es  |  fr  |  ja  |  ko 

diff --git a/docs/manual/dns-caveats.xml.es b/docs/manual/dns-caveats.xml.es new file mode 100644 index 00000000000..d086884522c --- /dev/null +++ b/docs/manual/dns-caveats.xml.es @@ -0,0 +1,253 @@ + + + + + + + + + + Asuntos relacionados con Apache y las DNS + + +

Este documento puede resumirse en la siguiente frase: no + configure Apache de manera que el análisis sintáctico de + los ficheros de configuración tenga que confiar en + resoluciones DNS. Si Apache necesita de resoluciones DNS para + analizar los ficheros de configuración, entonces su servidor + puede no funcionar correctamente (por ejemplo, podría no + iniciarse), o sufrir ataques de denegación o robo de servicio + (incluyendo que otas web puedan "robar" peticiones de otras + web).

+
+ +
+ Un ejemplo sencillo + + + <VirtualHost www.abc.com>
+ ServerAdmin webgirl@abc.com
+ DocumentRoot /www/abc
+ </VirtualHost> +
+ +

Para que Apache funcione correctamente, es imprescindible + conocer dos aspectos sobre cada host virtual: el valor de la + directiva ServerName y al + menos una dirección IP en la que servidor escuchará y + responderá a las peticiones que se produzcan. El ejemplo + mostrado arriba no incluye la direccion IP, de manera que Apache + tiene que usar una resolución DNS para encontrar la + dirección IP correspondiente a www.abc.com. Si + por alguna razón la resolución DNS no está + disponible en el momento en que su servidor está analizando + sintánticamente su fichero de configuración, entonces + este host virtual no se configurará y no + será capaz de responder a ninguna de las peticiones que se + hagan a ese host virtual (en las versiones de Apache anteriores a + la 1.2 el servidor ni siquiera se iniciaba).

+ +

Suponga que www.abc.com tiene como dirección + IP la 10.0.0.1. Considere la siguiente configuración:

+ + + <VirtualHost 10.0.0.1>
+ ServerAdmin webgirl@abc.com
+ DocumentRoot /www/abc
+ </VirtualHost> +
+ +

Ahora Apache necesita hacer una búsqueda DNS inversa para + encontrar el ServerName de este host virtual. Si esta + búsqueda inversa falla entonces el host virtual se + desactivará parcialmente (en las versiones de Apache + anteriores a la 1.2 el servidor ni siquiera se iniciaba). Si el + host virtual está basado en el nombre, entonces se + desactivará completamente, pero si está basado en la + dirección IP, entonces funcionará para la mayor parte de + las cosas. Sin embargo, si Apache tiene que generar en algún + momento una URL completa que incluya el nombre del servidor, no + será capaz de generar una URL válida.

+ +

Aquí tiene una forma de evitar ambos problemas:

+ + + <VirtualHost 10.0.0.1>
+ ServerName www.abc.com
+ ServerAdmin webgirl@abc.com
+ DocumentRoot /www/abc
+ </VirtualHost> +
+
+ +
+ Denegación de servicio + +

Hay (al menos) dos formas de que ocurra una denegación de + servicio. Si está ejecutando una versión de Apache + anterior a la 1.2, entonces su servidor no se iniciará si una + de las dos búsquedas de DNS mencionadas arriba falla para + cualquiera de sus hosts virtuales. En algunos casos estas + búsquedas DNS puede que no estén bajo su control; por + ejemplo, si abc.com es uno de sus clientes y ellos + controlan su propia DNS, pueden forzar a su servidor (pre-1.2) a + fallar al iniciarse simplemente borrando el registro + www.abc.com.

+ +

Otra formas pueden ser bastante más complicadas. Fíjese + en esta configuración:

+ + + <VirtualHost www.abc.com>
+   ServerAdmin webgirl@abc.com
+   DocumentRoot /www/abc
+ </VirtualHost>
+
+ <VirtualHost www.def.com>
+   ServerAdmin webguy@def.com
+   DocumentRoot /www/def
+ </VirtualHost> +
+ +

Suponga que ha asignado la dirección 10.0.0.1 a + www.abc.com y 10.0.0.2 a + www.def.com. Todavía más, suponga que + def.com tiene el control de sus propias DNS. Con esta + configuración ha puesto def.com en una + posición en la que puede robar todo el trafico destinado a + abc.com. Para conseguirlo, todo lo que tiene que + hacer es asignarle a www.def.com la dirección + 10.0.0.1. Como ellos controlan sus propias DNS no puede evitar que + apunten el registro www.def.com a donde quieran.

+ +

Las peticiones dirigidas a la dirección 10.0.0.1 + (incluídas aquellas en las los usuarios escriben URLs de tipo + http://www.abc.com/whatever) serán todas + servidas por el host virtual def.com. Comprender por + qué ocurre esto requiere una discusión más profunda + acerca de como Apache asigna las peticiones que recibe a los hosts + virtuales que las servirán. Puede consultar aquí un documento que trata el + tema.

+
+ +
+ La dirección del "servidor principal" + +

El que Apache soporte hosting + virtual basado en nombres desde la version 1.1 hace que sea + necesario que el servidor conozca la dirección (o + direcciones) IP del host que httpd está + ejecutando. Para tener acceso a esta dirección puede usar la + directiva global ServerName + (si está presente) o llamar a la función de C + gethostname (la cuál debe devolver el mismo + resultado que devuelve ejecutar por línea de comandos + "hostname"). Entonces se produce una búsqueda DNS de esa + dirección. Actualmente, no hay forma de evitar que se + produzca esta búsqueda.

+ +

Si teme que esta búsqueda pueda fallar porque su servidor + DNS está desactivado entonces puede insertar el nombre de + host en /etc/hosts (donde probablemente ya lo tiene + para que la máquina pueda arrancar + correctamente). Asegúrese de que su máquina está + configurada para usar /etc/hosts en caso de que esa + búsqueda DNS falle. En función del sistema operativo que + use, puede conseguir esto editando /etc/resolv.conf, + o puede que /etc/nsswitch.conf.

+ +

Si su servidor no tiene que ejecutar búsquedas DNS por + ninguna otra razón entonces considere ejecutar Apache + especificando el valor "local" en la variable de entorno + HOSTRESORDER. Todo esto depende del sistema operativo + y de las librerías de resolución que use. Esto + también afecta a los CGIs a menos que use + mod_env para controlar el entorno. Por favor, + consulte las páginas de ayuda o la sección de Preguntas + Más Frecuentes de su sistema operativo.

+
+ +
+ Consejos para evitar problemas + +
    +
  • + use direcciones IP en + VirtualHost +
  • + +
  • + use direcciones IP en + Listen +
  • + +
  • + asegúrese de que todos los host virtuales tienen + explícitamente especificados una directiva ServerName +
  • + +
  • cree un servidor <VirtualHost _default_:*> + que no tenga páginas que servir.
  • +
+
+ +
+ Apéndice: Líneas de evolución de Apache + +

La situación actual respecto a las búsquedas DNS + está lejos de ser la deseable. En Apache 1.2 se intentó + hacer que el servidor al menos se iniciara a pesar de que fallara + la búsqueda DNS, pero puede que esa no sea la mejor + solución. En cualquier caso, requerir el uso de direcciones + IP explícitas en los ficheros de configuración no es ni + mucho menos una solución deseable con la situación + actual de Internet, donde la renumeración es una + necesidad.

+ +

Una posible solución a los ataques de robo de servicio + descritos más arriba, sería hacer una búsqueda DNS + inversa de la dirección IP devuelta por la búsqueda + previa y comparar los dos nombres -- en caso de que sean + diferentes, el host virtual se desactivaría. Esto + requeriría configurar correctamente DNS inverso (una tarea + con la que suelen estar familiarizados la mayoría de los + administradores de sistemas).

+ +

En cualquier caso, no parece posible iniciar en las condiciones + apropiadas un servidor web alojado virtualmente cuando DNS ha + fallado a no ser que se usen direcciones IP. Soluciones parciales + tales como desactivar partes de la configuración podrían + ser incluso peores que no iniciar el servidor en absoluto, + dependiendo de las funciones que se espera que realice el servidor + web.

+ +

Como HTTP/1.1 está ampliamente extendido y los navegadores + y los servidores proxy empiezan a usar la cabecera + Host, en el futuro será posible evitar el uso de + hosting virtual basado en direcciones IP completamente. En ese + caso, un servidor web no tiene ninguna necesidad de hacer + búsquedas de DNS durante la configuración. Sin embargo, + en Marzo de 1997 esas funcionalidades no estaban lo + suficientemente implantadas como para ponerlas en uso en + servidores web que realizaban tareas de importancia + crítica.

+
+
+ diff --git a/docs/manual/dns-caveats.xml.meta b/docs/manual/dns-caveats.xml.meta index b8be6700620..326bcc6996b 100644 --- a/docs/manual/dns-caveats.xml.meta +++ b/docs/manual/dns-caveats.xml.meta @@ -7,6 +7,7 @@ en + es fr ja ko diff --git a/docs/manual/env.html b/docs/manual/env.html index 5bc9a72f068..bac55adb6df 100644 --- a/docs/manual/env.html +++ b/docs/manual/env.html @@ -2,6 +2,10 @@ URI: env.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 +URI: env.html.es +Content-Language: es +Content-type: text/html; charset=ISO-8859-1 + URI: env.html.fr Content-Language: fr Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/env.html.en b/docs/manual/env.html.en index f17560e5967..00930fc98dc 100644 --- a/docs/manual/env.html.en +++ b/docs/manual/env.html.en @@ -19,6 +19,7 @@ Apache > HTTP Server > Documentation > Version 2.0

Environment Variables in Apache

Available Languages:  en  | + es  |  fr  |  ja  |  ko 

@@ -390,6 +391,7 @@ SetEnvIf Referer "^$" local_referal

Available Languages:  en  | + es  |  fr  |  ja  |  ko 

diff --git a/docs/manual/env.html.es b/docs/manual/env.html.es new file mode 100644 index 00000000000..6a028eb29d7 --- /dev/null +++ b/docs/manual/env.html.es @@ -0,0 +1,434 @@ + + + +Variables de entorno de Apache - Servidor HTTP Apache + + + + + +
<-
+

Variables de entorno de Apache

+
+

Idiomas disponibles:  en  | + es  | + fr  | + ja  | + ko 

+
+ +

El servidor HTTP Apache HTTP ofrece un mecanismo para almacenar + información en variables especiales que se llaman + variables de entorno. Esta información puede ser + usada para controlar diversas operaciones como por ejemplo, + almacenar datos en ficheros de registro (log files) o controlar el + acceso al servidor. Las variables de entorno se usan también + como un mecanismo de comunicación con programas externos como + por ejemplo, scripts CGI. Este documento explica las diferentes + maneras de usar y manipular esas variables.

+ +

Aunque estas variables se llaman variables de entorno, + no son iguales que las variables de entorno que controla el + sistema operativo de la máquina en que se está + ejecutando Apache. Las variables de entorno de Apache se almacenan + y manipulan la en estructura interna de Apache. Solamente se + convierten en auténticas variables de entorno del sistema + operativo cuando se pasan a scripts CGI o a scripts Server Side + Include. Si quiere manipular el entorno del sistema operativo + sobre el que Apache se está ejecutando, debe usar los + mecanismos estándar de manipulación que tenga su sistema + operativo.

+
+ +
top
+
+

Especificación de variables de entorno

+ + + +

Manipulación básica del entorno

+ + +

El modo más básico de especificar el valor de una + variable de entorno en Apache es usando la directiva + incondicional SetEnv. Las variables pueden + también pasarse desde el shell en el que se inicio Apache + usando la directiva PassEnv.

+ + +

Especificación condicional por petición

+ + +

Si necesita más flexibilidad, las directivas incluidas + con mod_setenvif permiten especificar valores para las + variables de entorno de manera condicional en función de + las caracteristicas particulares de la petición que se + esté procesando. Por ejemplo, se puede especificar un + valor para una variable solamente cuando la petición se + haga con un navegador específico, o solamente cuando la + petición contenga una determinada información en su + cabecera. Si necesita aún más flexibilidad, puede + conseguirla con la directiva RewriteRule del módulo + mod_rewrite que tiene la opción [E=...] para + especificar valores en las variables de entorno.

+ + +

Identificadores únicos

+ + +

Finalmente, mod_unique_id determina el valor de la variable + de entorno UNIQUE_ID para cada + petición. Este valor está garantizado que sea + único entre todas las peticiones bajo condiciones muy + específicas.

+ + +

Variables CGI estándar

+ + +

Además de todas las variables de entorno especificadas + en la configuración de Apache y las que se pasan desde el + shell, los scripts CGI y las páginas SSI tienen un + conjunto de variables de entorno que contienen + meta-información sobre la petición tal y como + establece la especificación + CGI.

+ + +

Algunas limitaciones

+ + +
    +
  • No es posible reeemplazar los valores o cambiar las + variables estándar CGI usando las directivas de + manipulación del entorno.
  • + +
  • Cuando se usa suexec para + lanzar scripts CGI, el entorno se limpia y se queda reducido + a un conjunto de variables seguras antes de que se + lancen los scripts. La lista de variables seguras + se define en el momento de compilar en + suexec.c.
  • + +
  • Por razones de portabilidad, los nombres de las + variables de entorno solo pueden contener letras, + números y guiones bajos. Además, el primer + caracter no puede ser un número. Los caracteres que no + cumplan con esta restricción, se reemplazan + automáticamente por un guión bajo cuando se pasan + a scripts CGI y a páginas SSI.
  • +
+ +
top
+
+

Cómo usar las variables de entorno

+ + + + +

Scripts CGI

+ + +

Uno de los principales usos de las variables de entorno es + pasar información a scripts CGI. Tal y como se explicaba + más arriba, el entorno que se pasa a los scripts CGI + incluye meta-información estándar acerca de la + petición además de cualquier variable especificada + en la configuración de Apache. Para obtener más + información sobre este tema consulte el tutorial sobre CGIs.

+ + +

Páginas SSI

+ + +

Los documentos procesados por el servidor con el filtro + INCLUDES perteneciente a mod_include pueden + imprimir las variables de entorno usando el elemento + echo, y pueden usar las variables de entorno en + elementos de control de flujo para dividir en partes una + página condicional según las características de + la petición. Apache también sirve páginas SSI + con las variables CGI estándar tal y como se explica + más arriba en este documento. Para obetener más + información, consulte el tutorial sobre SSI.

+ + +

Control de acceso

+ + +

El acceso al servidor puede ser controlado en función + del valor de las variables de entorno usando las directivas + allow from env= y deny from env=. En + combinación con la directiva SetEnvIf, se puede tener un + control más flexible del acceso al servidor en + función de las características del cliente. Por + ejemplo, puede usar estas directivas para denegar el acceso si + el cliente usa un determinado navegador.

+ + +

Registro condicional

+ + +

Los valores de las variables de entorno pueden registrarse + en el log de acceso usando la directiva LogFormat con la + opción %e. Además, la decisión + sobre qué peticiones se registran puede ser tomada en + función del valor de las variables de entorno usando la + forma condicional de la directiva CustomLog. En + combinación con SetEnvIf, esto permite controlar de forma + flexible de qué peticiones se guarda registro. Por + ejemplo, puede elegir no registrar las peticiones que se hagan + a ficheros cuyo nombre termine en gif, o puede + elegir registrar únicamente las peticiones que provengan + de clientes que estén fuera de su propia red.

+ + +

Cabeceras de respuesta condicionales

+ + +

La directiva Header puede utilizar la + presencia o ausencia de una variable de entorno para + determinar si una determinada cabecera HTTP se incluye en la + respuesta al cliente. Esto permite, por ejemplo, que una + determinada cabecera de respuesta sea enviada únicamente + si también estaba presente en la petición del + cliente.

+ + + +

Activación de filtros externos

+ + +

External filters configured by mod_ext_filter + using the ExtFilterDefine directive can + by activated conditional on an environment variable using the + disableenv= and enableenv= options.

+ + +

Reescritura de URLs

+ + +

La expresion %{ENV:...} de TestString + en una directiva RewriteCond permite que el + motor de reescritura de mod_rewrite pueda tomar decisiones en + función del valor de variables de entorno. Tenga en + cuenta que las variables accesibles en mod_rewrite sin el + prefijo ENV: no son realmente variables de + entorno. En realidad, son variables especiales de mod_rewrite + que no pueden ser accedidas desde otros módulos.

+ +
top
+
+

Variables de entorno con funciones especiales

+ + +

Los problemas de interoperatividad han conducido a la + introducción de mecanismos para modificar el + comportamiento de Apache cuando se comunica con determinados + clientes. Para hacer que esos mecanismos sean tan flexibles + como sea posible, se invocan definiendo variables de entorno, + normalmente con la directiva BrowserMatch, aunque + también se puede usar por ejemplo con las directivas + SetEnv y PassEnv.

+ +

downgrade-1.0

+ + +

Fuerza que la petición sea tratada como una petición + HTTP/1.0 incluso si viene en una especificación posterior.

+ + +

force-no-vary

+ + +

Hace que cualquier campo Vary se elimine de la + cabecera de la respuesta antes de ser enviada al + cliente. Algunos clientes no interpretan este campo + correctamente (consulte la sección sobre problemas conocidos con + clientes); usar esta variable puede evitar esos + problemas. Usar esta variable implica también el uso de + force-response-1.0.

+ + +

force-response-1.0

+ + +

Fuerza que la respuesta a una petición HTTP/1.0 se haga + también según la especificación HTTP/1.0. Esto se + implementó originalmente como resultado de un problema con + los proxies de AOL. Algunos clientes HTTP/1.0 no se comportan + correctamente cuando se les envía una respuesta HTTP/1.1, y + este mecanismo hace que se pueda interactuar con ellos.

+ + + +

gzip-only-text/html

+ + +

Cuando tiene valor "1", esta variable desactiva el filtro + de salida DEFLATE de mod_deflate para + contenidos de tipo diferentes de text/html.

+ + +

no-gzip

+ +

Cuando se especifica, se desactiva el filtro + DEFLATE de mod_deflate.

+ + + +

nokeepalive

+ + +

Desactiva KeepAlive.

+ + + +

prefer-language

+ +

Influye en el comportamiento de + mod_negotiation. Si contiene una etiqueta de + idioma (del tipo en, ja o + x-klingon), mod_negotiation + intenta que se use ese mismo idioma en la respuesta. Si no + está disponible ese idioma, se aplica el proceso de negociación + normal.

+ + + +

redirect-carefully

+ + +

Fuerza que el servidor sea especialmente cuidadoso al + enviar una redirección al cliente. Se usa normalmente + cuando un cliente tiene un problema conocido tratando las + redirecciones. Fue implementado originalmente por el problema + que presentaba el software de WebFolders de Microsoft, que + tenía problemas interpretando redirecciones originadas + cuando se accedía a recursos servidos usando DAV.

+ + + +

suppress-error-charset

+ + +

Disponible en las versiones de Apache 2.0.40 y posteriores

+ +

Cuando Apache efectúa una redirección en respuesta a la + petición de un cliente, la respuesta incluye algún texto para que + se muestre en caso de que el cliente no pueda seguir (o no siga) + automáticamente la redirección. Apache normalmente etiqueta este + texto siguiendo la codificación ISO-8859-1.

+ +

Sin embargo, si la redirección es a una página que + usa una codificación diferente, algunas versiones de + navegadores que no funcionan correctamente intentarán usar la + codificación del texto de redirección en lugar de la de + pagina a la que ha sido redireccionado. La consecuencia de esto + puede ser, por ejemplo, que una página en griego no se + muestre correctamente.

+ +

Especificar un valor en esta variable de entorno hace que + Apache omita la codificación en el texto que incluye con las + redirecciones, y que esos navegadores que no funcionan + correctamente muestren correctamente la página de destino.

+ + + +
top
+
+

Ejemplos

+ + +

Cómo cambiar el comportamiento de clientes que se + comportan de manera inapropiada

+ + +

Recomendamos que incluya las siguentes líneas en el + fichero httpd.conf para evitar problemas conocidos

+
+
+#
+# Las siguientes directivas modifican el comportamiento normal de las respuestas HTTP.
+# La primera directiva desactiva keepalive para Netscape 2.x y para navegadores 
+# que la simulan. Hay problemas conocidos con esos navegadores.
+# La segunda directiva es para Microsoft Internet Explorer 4.0b2
+# que tiene un fallo en la implemantación de HTTP/1.1 y no soporta
+# keepalive adecuadamente cuando se usan respuestas 301 ó 302 (redirecciones).
+#
+BrowserMatch "Mozilla/2" nokeepalive
+BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
+
+#
+# La siguiente directiva desactiva las respuestas HTTP/1.1 para navegadores que
+# violan la especificación HTTP/1.0 @@@ by not being able to grok a
+# basic 1.1 response @@@.
+#
+BrowserMatch "RealPlayer 4\.0" force-response-1.0
+BrowserMatch "Java/1\.0" force-response-1.0
+BrowserMatch "JDK/1\.0" force-response-1.0
+ + +

No almacenar entradas en registro de acceso para las + imágenes

+ + +

Este ejemplo evita que las peticiones de imágenes + aparezcan en el registro de acceso. Puede ser modificada + fácilmente para evitar que se registren entradas de + peticiones de directorios, o provenientes de determinados + clientes.

+ +
 
+SetEnvIf Request_URI \.gif image-request
+SetEnvIf Request_URI \.jpg image-request 
+SetEnvIf Request_URI \.png image-request 
+CustomLog logs/access_log common env=!image-request
+ + +

Evitar el "robo de imagenes"

+ + +

Este ejemplo muestra como evitar que otras webs usen las + imágenes de su servidor para sus páginas. Esta + configuración no se recomienda, pero puede funcionar en + determinadas circunstancias. Asumimos que que todas sus + imágenes están en un directorio llamado + /web/images.

+ +
 
+SetEnvIf Referer "^http://www.example.com/" local_referal 
+# Allow browsers that do not send Referer info
+SetEnvIf Referer "^$" local_referal 
+<Directory  /web/images> 
+   Order Deny,Allow 
+   Deny from all 
+   Allow from env=local_referal 
+</Directory>
+ +

Para obtener más información sobre esta + técnica, consulte el tutorial de ApacheToday " + Keeping Your Images from Adorning Other Sites".

+
+
+

Idiomas disponibles:  en  | + es  | + fr  | + ja  | + ko 

+
+ \ No newline at end of file diff --git a/docs/manual/env.html.fr b/docs/manual/env.html.fr index e50bf338dc9..4684ffb9555 100644 --- a/docs/manual/env.html.fr +++ b/docs/manual/env.html.fr @@ -19,6 +19,7 @@ Apache > Serveur HTTP > Documentation > Version 2.0

Apache et les variables d'environnement

Langues Disponibles:  en  | + es  |  fr  |  ja  |  ko 

@@ -410,6 +411,7 @@ SetEnvIf Referer "^$" local_referal

Langues Disponibles:  en  | + es  |  fr  |  ja  |  ko 

diff --git a/docs/manual/env.html.ja.euc-jp b/docs/manual/env.html.ja.euc-jp index 62d7b2a37f7..387634d3a25 100644 --- a/docs/manual/env.html.ja.euc-jp +++ b/docs/manual/env.html.ja.euc-jp @@ -19,6 +19,7 @@ Apache > HTTP ¥µ¡¼¥Ð > ¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó > ¥Ð¡¼¥¸¥ç¥ó 2.0

Apache ¤Î´Ä¶­ÊÑ¿ô

Available Languages:  en  | + es  |  fr  |  ja  |  ko 

@@ -378,6 +379,7 @@ SetEnvIf Referer "^$" local_referal

Available Languages:  en  | + es  |  fr  |  ja  |  ko 

diff --git a/docs/manual/env.html.ko.euc-kr b/docs/manual/env.html.ko.euc-kr index eebd45e5328..6a6d643df5c 100644 --- a/docs/manual/env.html.ko.euc-kr +++ b/docs/manual/env.html.ko.euc-kr @@ -19,6 +19,7 @@ Apache > HTTP Server > Documentation > Version 2.0

¾ÆÆÄÄ¡ÀÇ È¯°æº¯¼ö

°¡´ÉÇÑ ¾ð¾î:  en  | + es  |  fr  |  ja  |  ko 

@@ -357,6 +358,7 @@ SetEnvIf Referer "^$" local_referal

°¡´ÉÇÑ ¾ð¾î:  en  | + es  |  fr  |  ja  |  ko 

diff --git a/docs/manual/env.xml.es b/docs/manual/env.xml.es new file mode 100644 index 00000000000..9474beef559 --- /dev/null +++ b/docs/manual/env.xml.es @@ -0,0 +1,472 @@ + + + + + + + + + + Variables de entorno de Apache + + +

El servidor HTTP Apache HTTP ofrece un mecanismo para almacenar + información en variables especiales que se llaman + variables de entorno. Esta información puede ser + usada para controlar diversas operaciones como por ejemplo, + almacenar datos en ficheros de registro (log files) o controlar el + acceso al servidor. Las variables de entorno se usan también + como un mecanismo de comunicación con programas externos como + por ejemplo, scripts CGI. Este documento explica las diferentes + maneras de usar y manipular esas variables.

+ +

Aunque estas variables se llaman variables de entorno, + no son iguales que las variables de entorno que controla el + sistema operativo de la máquina en que se está + ejecutando Apache. Las variables de entorno de Apache se almacenan + y manipulan la en estructura interna de Apache. Solamente se + convierten en auténticas variables de entorno del sistema + operativo cuando se pasan a scripts CGI o a scripts Server Side + Include. Si quiere manipular el entorno del sistema operativo + sobre el que Apache se está ejecutando, debe usar los + mecanismos estándar de manipulación que tenga su sistema + operativo.

+
+ +
+ Especificación de variables de entorno + + + mod_env + mod_rewrite + mod_setenvif + mod_unique_id + + + BrowserMatch + BrowserMatchNoCase + PassEnv + RewriteRule + SetEnv + SetEnvIf + SetEnvIfNoCase + UnsetEnv + + + +
+ Manipulación básica del entorno + +

El modo más básico de especificar el valor de una + variable de entorno en Apache es usando la directiva + incondicional SetEnv. Las variables pueden + también pasarse desde el shell en el que se inicio Apache + usando la directiva PassEnv.

+ +
+
+ Especificación condicional por petición + +

Si necesita más flexibilidad, las directivas incluidas + con mod_setenvif permiten especificar valores para las + variables de entorno de manera condicional en función de + las caracteristicas particulares de la petición que se + esté procesando. Por ejemplo, se puede especificar un + valor para una variable solamente cuando la petición se + haga con un navegador específico, o solamente cuando la + petición contenga una determinada información en su + cabecera. Si necesita aún más flexibilidad, puede + conseguirla con la directiva RewriteRule del módulo + mod_rewrite que tiene la opción [E=...] para + especificar valores en las variables de entorno.

+ +
+
+ Identificadores únicos + +

Finalmente, mod_unique_id determina el valor de la variable + de entorno UNIQUE_ID para cada + petición. Este valor está garantizado que sea + único entre todas las peticiones bajo condiciones muy + específicas.

+ +
+
+ Variables CGI estándar + +

Además de todas las variables de entorno especificadas + en la configuración de Apache y las que se pasan desde el + shell, los scripts CGI y las páginas SSI tienen un + conjunto de variables de entorno que contienen + meta-información sobre la petición tal y como + establece la especificación + CGI.

+ +
+
+ Algunas limitaciones + +
    +
  • No es posible reeemplazar los valores o cambiar las + variables estándar CGI usando las directivas de + manipulación del entorno.
  • + +
  • Cuando se usa suexec para + lanzar scripts CGI, el entorno se limpia y se queda reducido + a un conjunto de variables seguras antes de que se + lancen los scripts. La lista de variables seguras + se define en el momento de compilar en + suexec.c.
  • + +
  • Por razones de portabilidad, los nombres de las + variables de entorno solo pueden contener letras, + números y guiones bajos. Además, el primer + caracter no puede ser un número. Los caracteres que no + cumplan con esta restricción, se reemplazan + automáticamente por un guión bajo cuando se pasan + a scripts CGI y a páginas SSI.
  • +
+
+
+
+ Cómo usar las variables de entorno + + + + mod_access + mod_cgi + mod_ext_filter + mod_headers + mod_include + mod_log_config + mod_rewrite + + + Allow + CustomLog + Deny + ExtFilterDefine + Header + LogFormat + RewriteCond + RewriteRule + + + +
+ Scripts CGI + +

Uno de los principales usos de las variables de entorno es + pasar información a scripts CGI. Tal y como se explicaba + más arriba, el entorno que se pasa a los scripts CGI + incluye meta-información estándar acerca de la + petición además de cualquier variable especificada + en la configuración de Apache. Para obtener más + información sobre este tema consulte el tutorial sobre CGIs.

+ +
+
+ Páginas SSI + +

Los documentos procesados por el servidor con el filtro + INCLUDES perteneciente a mod_include pueden + imprimir las variables de entorno usando el elemento + echo, y pueden usar las variables de entorno en + elementos de control de flujo para dividir en partes una + página condicional según las características de + la petición. Apache también sirve páginas SSI + con las variables CGI estándar tal y como se explica + más arriba en este documento. Para obetener más + información, consulte el tutorial sobre SSI.

+ +
+
+ Control de acceso + +

El acceso al servidor puede ser controlado en función + del valor de las variables de entorno usando las directivas + allow from env= y deny from env=. En + combinación con la directiva SetEnvIf, se puede tener un + control más flexible del acceso al servidor en + función de las características del cliente. Por + ejemplo, puede usar estas directivas para denegar el acceso si + el cliente usa un determinado navegador.

+ +
+
+ Registro condicional + +

Los valores de las variables de entorno pueden registrarse + en el log de acceso usando la directiva LogFormat con la + opción %e. Además, la decisión + sobre qué peticiones se registran puede ser tomada en + función del valor de las variables de entorno usando la + forma condicional de la directiva CustomLog. En + combinación con SetEnvIf, esto permite controlar de forma + flexible de qué peticiones se guarda registro. Por + ejemplo, puede elegir no registrar las peticiones que se hagan + a ficheros cuyo nombre termine en gif, o puede + elegir registrar únicamente las peticiones que provengan + de clientes que estén fuera de su propia red.

+ +
+
+ Cabeceras de respuesta condicionales + +

La directiva Header puede utilizar la + presencia o ausencia de una variable de entorno para + determinar si una determinada cabecera HTTP se incluye en la + respuesta al cliente. Esto permite, por ejemplo, que una + determinada cabecera de respuesta sea enviada únicamente + si también estaba presente en la petición del + cliente.

+ +
+ +
+ Activación de filtros externos + +

External filters configured by mod_ext_filter + using the ExtFilterDefine directive can + by activated conditional on an environment variable using the + disableenv= and enableenv= options.

+
+ +
+ Reescritura de URLs + +

La expresion %{ENV:...} de TestString + en una directiva RewriteCond permite que el + motor de reescritura de mod_rewrite pueda tomar decisiones en + función del valor de variables de entorno. Tenga en + cuenta que las variables accesibles en mod_rewrite sin el + prefijo ENV: no son realmente variables de + entorno. En realidad, son variables especiales de mod_rewrite + que no pueden ser accedidas desde otros módulos.

+
+
+ +
+ Variables de entorno con funciones especiales + +

Los problemas de interoperatividad han conducido a la + introducción de mecanismos para modificar el + comportamiento de Apache cuando se comunica con determinados + clientes. Para hacer que esos mecanismos sean tan flexibles + como sea posible, se invocan definiendo variables de entorno, + normalmente con la directiva BrowserMatch, aunque + también se puede usar por ejemplo con las directivas + SetEnv y PassEnv.

+ +
+ downgrade-1.0 + +

Fuerza que la petición sea tratada como una petición + HTTP/1.0 incluso si viene en una especificación posterior.

+ +
+
+ force-no-vary + +

Hace que cualquier campo Vary se elimine de la + cabecera de la respuesta antes de ser enviada al + cliente. Algunos clientes no interpretan este campo + correctamente (consulte la sección sobre problemas conocidos con + clientes); usar esta variable puede evitar esos + problemas. Usar esta variable implica también el uso de + force-response-1.0.

+ +
+
+ force-response-1.0 + +

Fuerza que la respuesta a una petición HTTP/1.0 se haga + también según la especificación HTTP/1.0. Esto se + implementó originalmente como resultado de un problema con + los proxies de AOL. Algunos clientes HTTP/1.0 no se comportan + correctamente cuando se les envía una respuesta HTTP/1.1, y + este mecanismo hace que se pueda interactuar con ellos.

+ +
+ +
+ gzip-only-text/html + +

Cuando tiene valor "1", esta variable desactiva el filtro + de salida DEFLATE de mod_deflate para + contenidos de tipo diferentes de text/html.

+
+ +
no-gzip + +

Cuando se especifica, se desactiva el filtro + DEFLATE de mod_deflate.

+ +
+ +
+ nokeepalive + +

Desactiva KeepAlive.

+ +
+ +
prefer-language + +

Influye en el comportamiento de + mod_negotiation. Si contiene una etiqueta de + idioma (del tipo en, ja o + x-klingon), mod_negotiation + intenta que se use ese mismo idioma en la respuesta. Si no + está disponible ese idioma, se aplica el proceso de negociación + normal.

+ +
+ +
+ redirect-carefully + +

Fuerza que el servidor sea especialmente cuidadoso al + enviar una redirección al cliente. Se usa normalmente + cuando un cliente tiene un problema conocido tratando las + redirecciones. Fue implementado originalmente por el problema + que presentaba el software de WebFolders de Microsoft, que + tenía problemas interpretando redirecciones originadas + cuando se accedía a recursos servidos usando DAV.

+ +
+ +
+ suppress-error-charset + +

Disponible en las versiones de Apache 2.0.40 y posteriores

+ +

Cuando Apache efectúa una redirección en respuesta a la + petición de un cliente, la respuesta incluye algún texto para que + se muestre en caso de que el cliente no pueda seguir (o no siga) + automáticamente la redirección. Apache normalmente etiqueta este + texto siguiendo la codificación ISO-8859-1.

+ +

Sin embargo, si la redirección es a una página que + usa una codificación diferente, algunas versiones de + navegadores que no funcionan correctamente intentarán usar la + codificación del texto de redirección en lugar de la de + pagina a la que ha sido redireccionado. La consecuencia de esto + puede ser, por ejemplo, que una página en griego no se + muestre correctamente.

+ +

Especificar un valor en esta variable de entorno hace que + Apache omita la codificación en el texto que incluye con las + redirecciones, y que esos navegadores que no funcionan + correctamente muestren correctamente la página de destino.

+ +
+ +
+ +
+ Ejemplos + +
+ Cómo cambiar el comportamiento de clientes que se + comportan de manera inapropiada + +

Recomendamos que incluya las siguentes líneas en el + fichero httpd.conf para evitar problemas conocidos

+
+
+#
+# Las siguientes directivas modifican el comportamiento normal de las respuestas HTTP.
+# La primera directiva desactiva keepalive para Netscape 2.x y para navegadores 
+# que la simulan. Hay problemas conocidos con esos navegadores.
+# La segunda directiva es para Microsoft Internet Explorer 4.0b2
+# que tiene un fallo en la implemantación de HTTP/1.1 y no soporta
+# keepalive adecuadamente cuando se usan respuestas 301 ó 302 (redirecciones).
+#
+BrowserMatch "Mozilla/2" nokeepalive
+BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
+
+#
+# La siguiente directiva desactiva las respuestas HTTP/1.1 para navegadores que
+# violan la especificación HTTP/1.0 @@@ by not being able to grok a
+# basic 1.1 response @@@.
+#
+BrowserMatch "RealPlayer 4\.0" force-response-1.0
+BrowserMatch "Java/1\.0" force-response-1.0
+BrowserMatch "JDK/1\.0" force-response-1.0
+ +
+
+ No almacenar entradas en registro de acceso para las + imágenes + +

Este ejemplo evita que las peticiones de imágenes + aparezcan en el registro de acceso. Puede ser modificada + fácilmente para evitar que se registren entradas de + peticiones de directorios, o provenientes de determinados + clientes.

+ +
 
+SetEnvIf Request_URI \.gif image-request
+SetEnvIf Request_URI \.jpg image-request 
+SetEnvIf Request_URI \.png image-request 
+CustomLog logs/access_log common env=!image-request
+ +
+
+ Evitar el "robo de imagenes" + +

Este ejemplo muestra como evitar que otras webs usen las + imágenes de su servidor para sus páginas. Esta + configuración no se recomienda, pero puede funcionar en + determinadas circunstancias. Asumimos que que todas sus + imágenes están en un directorio llamado + /web/images.

+ +
 
+SetEnvIf Referer "^http://www.example.com/" local_referal 
+# Allow browsers that do not send Referer info
+SetEnvIf Referer "^$" local_referal 
+<Directory  /web/images> 
+   Order Deny,Allow 
+   Deny from all 
+   Allow from env=local_referal 
+</Directory>
+ +

Para obtener más información sobre esta + técnica, consulte el tutorial de ApacheToday " + Keeping Your Images from Adorning Other Sites".

+
diff --git a/docs/manual/env.xml.meta b/docs/manual/env.xml.meta index 5949842ac0f..c33c15a6b89 100644 --- a/docs/manual/env.xml.meta +++ b/docs/manual/env.xml.meta @@ -7,6 +7,7 @@ en + es fr ja ko diff --git a/docs/manual/install.html.es b/docs/manual/install.html.es index 51709732741..57cfe393f20 100644 --- a/docs/manual/install.html.es +++ b/docs/manual/install.html.es @@ -25,10 +25,6 @@  ko  |  ru 

-
Esta traducción podría estar - obsoleta. Consulte la versión en inglés de la - documentación para comprobar si se han producido cambios - recientemente.

Este documento explica cómo compilar e instalar Apache en @@ -399,17 +395,20 @@ prrevia posteriores a la 2.0.41; las versiones anteriores contienen cambios incompatibles.)

-

Si va a conservar la estructura de directorios de su anterior - instalación, la actualización es más fácil - incluso. El fichero config.nice que está en el - directorio raiz de la estructura de directorios antigua contiene - exactamente el comando configure que usted usó - para configurar la estructura de directorios de Apache. Entonces, - para actualizar su instalación de una versóon a la - siguinete, solo tiene que copiar el archivo - config.nice a la estructura de directorios del - código fuente de la nueva versión, editarlo, hacer - cualquier cambio que desee, y ejecutarlo :

+

Si la actualización es entre versiones menores (por + ejemplo, de la 2.0.55 a la 2.0.57), lo primero que debe hacer es + encontrar el fichero config.nice en el directorio + build de la instalación antigua de Apache que + desea actualizar o en el directorio raiz de la estructura de + directorios con las fuentes del servidor que uso para su anterior + instalación. Ese fichero contiene el comando + configure exacto que usó originalmente + para configurar la estructura de directorios de las fuentes de + Apache. Para actualizar su instalación de una versión a + la siguiente, solo tiene que copiar el archivo + config.nice a la estructura de directorios que + contiene las fuentes de la nueva versión de Apache, editarlo, + hacer cualquier cambio que desee, y ejecutar:

$ ./config.nice
diff --git a/docs/manual/install.xml.es b/docs/manual/install.xml.es index 65aff6c4467..eed1b8b68aa 100644 --- a/docs/manual/install.xml.es +++ b/docs/manual/install.xml.es @@ -1,7 +1,7 @@ - + +Secciones de configuración - Servidor HTTP Apache + + + + +

+
<-
+

Secciones de configuración

+
+

Idiomas disponibles:  en  | + es  | + ja  | + ko 

+
+

Las directivas presentes en los ficheros de configuración pueden ser +de aplicación para todo el servidor, o puede que su +aplicación se limite solamente a determinados directorios, +ficheros, hosts, o URLs. Este documento explica cómo usar las +secciones de configuración y los ficheros .htaccess +para modificar el ámbito de aplicación de las directivas de +configuración.

+ +
top
+
+

Tipos de secciones de +configuración

+ + + +

Exiten dos tipos básicos de secciones de +configuración. Por un lado, la mayoría de las secciones de +configuración se evalúan para cada petición que se +recibe y se aplican las directivas que se incluyen en las distintas +secciones solamente a las peticiones que se adecúan a +determinadas características. Por otro lado, las secciones de tipo +<IfDefine> e +<IfModule>, se +evalúan solamente al inicio o reinicio del servidor. Si al +iniciar el servidor las condiciones son las adecuadas, las directivas +que incluyen estas secciones se aplicarán a todas las peticiones +que se reciban. Es caso contrario, esas directivas que incluyen se +ignoran completamente.

+ +

Las secciones <IfDefine> incluyen directivas que se +aplicarán solamente si se pasa un determinado parámetro por +línea de comandos al ejecutar httpd. Por +ejemplo, con la siguiente configuración, todas las peticiones +serán redireccionadas a otro sitio web solamente si el servidor +se inició usando httpd -DClosedForNow:

+ +

+<IfDefine ClosedForNow>
+Redirect / http://otherserver.example.com/
+</IfDefine> +

+ +

La sección <IfModule> es muy parecida. La diferencia +respecto a <IfDefine> está en que incluye directivas +que se aplicarán solamente si un determinado módulo en +particular está disponible en el servidor. El módulo debe +estar compilado estáticamente en el servidor, o si está +compilado de forma dinámica ha de ponerse antes una línea +LoadModule en el fichero de +configuración. Esta directiva debe usarla solamente si necesita +que su fichero de configuración funcione estén o no +instalados determinados módulos. No debe usarla para incluir +directivas que quiera que se apliquen siempre, porque puede suprimir +mensajes de error que pueden ser de mucha utilidad para detectar la +falta de algún módulo.

+ +

En el siguiente ejemplo, la directiva MimeMagicFiles se aplicará +solamente si el módulo mod_mime_magic está +disponible.

+ +

+<IfModule mod_mime_magic.c>
+MimeMagicFile conf/magic
+</IfModule> +

+ +

Tanto <IfDefine> +como <IfModule> +pueder usarse con condiones negativas anteponiendo al test el +carácter "!". Estas secciones también pueden anidarse para +establecer restricciones más complejas.

+ +
top
+
+

Sistemas de ficheros y espacio +web

+ +

Las secciones de configuración usadas con más frecuencia +son las que cambian la configuración de áreas del sistema de +ficheros o del espacio web. En primer lugar, es importante comprender +la diferencia que existe entre estos dos conceptos. El sistema de +ficheros es la visión de sus discos desde el punto de vista del +sistema operativo. Por ejemplo, en una instalación estándar, +Apache estará en /usr/local/apache2 en un sistema +Unix o en "c:/Program Files/Apache Group/Apache2" en un +sistema Windows. (Tenga en cuenta que con Apache debe usar siempre +barras /, incluso en Windows.) Por el contrario, el espacio web lo +que presenta el servidor web y que visualiza el cliente. De manera que +la ruta /dir/ en el espacio web se corresponde con la +ruta /usr/local/apache2/htdocs/dir/ en el sistema de +ficheros de una instalación estándar en Unix. El espacio +web no tiene que tener correspondencia directa con el sistema de +ficheros, porque las páginas web pueden generarse de forma +dinámica a partir de bases de datos o partiendo de otras +ubicaciones.

+ +

Secciones relacionadas con el sistema +de ficheros

+ +

Las secciones <Directory> y <Files>, junto con sus contrapartes que usan +expresiones regulares, aplican sus directivas a áreas del sistema de +ficheros. Las directivas incluidas en una sección <Directory> se aplican al +directorio del sistema de ficheros especificado y a sus +subdirectorios. El mismo resultado puede obtenerse usando ficheros .htaccess. Por ejemplo, en la +siguiente configuración, se activarán los índices de +directorio para el directorio /var/web/dir1 y sus +subdirectorios.

+ +

+<Directory /var/web/dir1>
+Options +Indexes
+</Directory> +

+ +

Las directivas incluidas en una sección <Files> se aplicarán a +cualquier fichero cuyo nombre se especifique, sin tener en cuenta en +que directorio se encuentra. Por ejemplo, las siguientes directivas de +configuración, cuando se colocan en la sección principal del +fichero de configuración, deniegan el acceso a cualquier fichero +llamado private.html sin tener en cuenta de donde se +encuentre.

+ +

+<Files private.html>
+Order allow,deny
+Deny from all
+</Files> +

+ +

Para referirse a archivos que se encuentren en un determinado lugar +del sistema de ficheros, se pueden combinar las secciones <Files> y <Directory>. Por ejemplo, la +siguiente configuración denegará el acceso a +/var/web/dir1/private.html, +/var/web/dir1/subdir2/private.html, +/var/web/dir1/subdir3/private.html, y cualquier otra +aparición de private.html que se encuentre en +/var/web/dir1/ o cualquiera de sus subdirectorios.

+ +

+<Directory /var/web/dir1>
+<Files private.html>
+Order allow,deny
+Deny from all
+</Files>
+</Directory> +

+ + +

Secciones relacionadas con el espacio +web

+ +

La sección <Location> y su contraparte que usa + expresiones regulares, cambian + la configuración para el contenido del espacio web. Por ejemplo, + la siguiente configuración evita que se acceda a cualquier URL + que empiece por /private. En concreto, se aplicará a + peticiones que vayan dirigidas a + http://yoursite.example.com/private, + http://yoursite.example.com/private123, y a + http://yoursite.example.com/private/dir/file.html + así como + también a cualquier otra petición que comience por + /private.

+ +

+<Location /private>
+Order Allow,Deny
+Deny from all
+</Location> +

+ +

La sección <Location> puede no tener nada que ver con el +sistema de ficheros. Por ejemplo, el siguiente ejemplo muestra como +asociar una determinada URL a un handler interno de Apache del +módulo mod_status. No tiene por qué +existir ningún fichero server-status en el sistema +de ficheros.

+ +

+<Location /server-status>
+SetHandler server-status
+</Location> +

+ + +

Caracteres comodín y expresiones +regulares

+ +

Las secciones <Directory>, <Files>, y <Location> pueden usar caracteres comodín +del tipo fnmatch de la librería estándar de C. +El carácter "*" equivale a cualquier secuencia de caracteres, "?" +equivale a cualquier carácter individual, y "[seq]" +equivale a cualquier carácter en seq. Ningún +carácter comodín equivale a"/", que debe siempre +especificarse explícitamente.

+ +

Si necesita un sistema de equivalencias más flexible, cada +sección tiene una contraparte que acepta expresiones regulares compatibles con +Perl: <DirectoryMatch>, <FilesMatch>, y <LocationMatch>. Consulte la sección +sobre la fusión de secciones de configuración para ver la +forma en que las secciones expresiones regulares cambian el modo en +que se aplican las directivas.

+ +

Abajo se muestra un ejemplo en el que una sección de +configuración que usa caracteres comodín en lugar de una +expresión regular modifica la configuración de todos los +directorios de usuario:

+ +

+<Directory /home/*/public_html>
+Options Indexes
+</Directory> +

+ +

Usando expresiones regulares, podemos denegar el acceso a muchos +tipos ficheros de imágenes de una sola vez:

+ +

+<FilesMatch \.(?i:gif|jpe?g|png)$>
+Order allow,deny
+Deny from all
+</FilesMatch> +

+ + + +

Qué usar en cada momento

+ +

Decidir cuando hay que usar secciones que se apliquen sobre el +sistema de ficheros y cuando usar secciones que se apliquen sobre el +espacio web es bastante fácil. Cuando se trata de directivas que +se aplican a objetos que residen en el sistema de ficheros, siempre se +deben usar <Directory> o <Files>. Cuando se trata de directivas que se +aplican a objetos que no residen en el sistema de ficheros (por +ejemplo una página web generada a partir de una base de datos), +se usa <Location>.

+ +

Es importante no usar nunca <Location> cuando se trata de restringir el +acceso a objetos en el sistema de ficheros. Esto se debe a que varias +URLs diferentes pueden corresponderse con una misma ubicación en +el sistema de ficheros, haciendo que la restricción pueda ser +evitada. Por ejemplo, considere la siguiente configuración:

+ +

+<Location /dir/>
+Order allow,deny
+Deny from all
+</Location> +

+ +

La restricción funciona si se produce una petición a +http://yoursite.example.com/dir/. Pero, ¿qué +ocurriría si se trata de un sistema de ficheros que no distingue +mayúsculas de minúsculas? Entonces, la restricción que +ha establecido podría evitarse fácilmente haciendo una +peticion a http://yoursite.example.com/DIR/. Una +sección <Directory> por el contrario, se aplicará +a cualquier contenido servido desde esa ubicación, +independientemente de cómo se llame. (Una excepción son los +enlaces del sistema de ficheros. El mismo directorio puede ser +colocado en más de una ubicación del sistema de ficheros +usando enlaces simbólicos. La sección <Directory> seguirá los +enlaces simbólicos sin resetear la ruta de fichero (resetting the +pathname). Por tanto, para conseguir el mayor nivel de seguridad, los +enlaces simbólicos deben desactivarse con la directiva Options correspondiente.)

+ +

En el caso de que piense que nada de esto le afecta porque usa un +sistema de ficheros que distingue mayúsculas de minúsculas, +recuerde que hay muchas otras maneras de hacer corresponder +múltiples direcciones del espacio web con una misma +ubicación del sistema de ficheros. Por tanto, use las secciones +de configuración que se aplican al sistema de ficheros siempre +que sea posible. Hay, sin embargo, una excepción a esta +regla. Poner restricciones de configuración en una sección +<Location /> es completamente seguro porque estas +secciones se aplicarán a todas las peticiones independientemente +de la URL específica que se solicite.

+ +
top
+
+

Hosts virtuales

+ +

El contenedor <VirtualHost> agrupa directivas que se +aplicarán a hosts específicos. Esto es útil cuando se +sirven varios hosts con una misma máquina y con una +configuración diferente cada uno. Para más información, +consulte la documentación sobre hosts +virtuales.

top
+
+

Proxy

+ +

Las secciones <Proxy> y <ProxyMatch> aplican las directivas de +configuración que engloban solo a los sitios accedidos a +través del servidor proxy del módulo +mod_proxy que tengan equivalencia con la URL +especificada. Por ejemplo, la siguiente configuración +evitará que se use el servidor proxy para acceder al sitio web +cnn.com.

+ +

+<Proxy http://cnn.com/*>
+Order allow,deny
+Deny from all
+</Proxy> +

+
top
+
+

¿Qué directivas se pueden +usar?

+ +

Para ver que directivas son las que se pueden usar en cada +sección de configuración, consulte el Context de la directiva. +Todas las directivas que está permitido usar en las secciones +<Directory> se +pueden usar también en las secciones <DirectoryMatch>, <Files>, <FilesMatch>, <Location>, <LocationMatch>, <Proxy>, y <ProxyMatch>. Sin embargo, hay algunas +excepciones:

+ + +
top
+
+

¿Cómo se fusionan las distintas +secciones?

+ +

Las secciones de configuración se aplican en un determinado +orden. Como este orden puede tener efectos significativos en como se +interpretan las directivas de configuración, es importante +entender cómo funciona este proceso.

+ +

El orden de fusión es el siguiente:

+ +
    +
  1. <Directory> (excepto expresiones + regulares) y .htaccess simultáneamente (si el + uso de .htaccess está permitido, prevaleciendo + sobre <Directory>)
  2. + +
  3. <DirectoryMatch> + (y <Directory ~>)
  4. + +
  5. <Files> y + <FilesMatch> + simultáneamente
  6. + +
  7. <Location> + y <LocationMatch> + simultáneamente
  8. +
+ +

Aparte de <Directory>, cada grupo se procesa en el + orden en que aparezca en los ficheros de configuración. + <Directory> + (grupo 1 arriba) se procesa empezando por los componentes de la + ruta al directorio más cortos. Por ejemplo, + <Directory + /var/web/dir> se procesará antes de + <Directory /var/web/dir/subdir>. Si hay que + aplicar varias secciones <Directory> a un mismo directorio, se + aplican en el orden en que aparezcan en el fichero de + configuración. Las configuraciones incluidas mediante la + directiva Include se + tratarán como si estuvieran dentro del fichero de + configuración principal en lugar de la sección + Include.

+ +

Las secciones incluidas dentro de secciones <VirtualHost> se aplican + después de las correspondientes secciones fuera + de la definición del host virtual. Esto permite que la + configuración especificada para los hosts virtuales pueda + prevalecer sobre la configuración del servidor principal.

+ +

Las secciones que aparecen después prevalecen sobre las + que aparecen antes.

+ +

Nota técnica.

Previamente a la fase de + traducción de nombres (en la que se analizan los + Aliases y DocumentRoots para calcular + las correspondencias entre URLs y nombres de ficheros) se + ejecuta una secuencia + <Location>/<LocationMatch>. Los + resultados de esta secuencia se desechan después de + ejecutar la traducción.
+ +

Algunos ejemplos

+ +

Abajo se muestra un ejemplo para que se vea claramente cuál es +el orden de fusión. Asumiendo que todas las secciones se aplican +a la petición, las de este ejemplo se aplicarían en el orden +A > B > C > D > E.

+ +

+<Location />
+E
+</Location>
+
+<Files f.html>
+D
+</Files>
+
+<VirtualHost *>
+<Directory /a/b>
+B
+</Directory>
+</VirtualHost>
+
+<DirectoryMatch "^.*b$">
+C
+</DirectoryMatch>
+
+<Directory /a/b>
+A
+</Directory>
+
+

+ +

A continuación se muestra un ejemplo más concreto. +Independientemente de las restricciones de acceso que se hayan +establecido en las secciones <Directory>, la sección <Location> será evaluada +al final y se permitirá acceso sin restricciones al servidor. En +otras palabras, el orden de fusión es importante, de modo que +ponga atención.

+ +

+<Location />
Order deny,allow
Allow from all
+</Location>

+# Esta sección <Directory> no tendrá efecto
+<Directory />
+Order allow,deny
+Allow from all
+Deny from badguy.example.com
+</Directory> +

+ + + +
+
+

Idiomas disponibles:  en  | + es  | + ja  | + ko 

+
+ \ No newline at end of file diff --git a/docs/manual/sections.html.ja.euc-jp b/docs/manual/sections.html.ja.euc-jp index 1f5301f542c..6c564cf0a22 100644 --- a/docs/manual/sections.html.ja.euc-jp +++ b/docs/manual/sections.html.ja.euc-jp @@ -19,6 +19,7 @@ Apache > HTTP ¥µ¡¼¥Ð > ¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó > ¥Ð¡¼¥¸¥ç¥ó 2.0

¥»¥¯¥·¥ç¥ó¤ÎÀßÄê

Available Languages:  en  | + es  |  ja  |  ko 

@@ -455,6 +456,7 @@ Deny from badguy.example.com

Available Languages:  en  | + es  |  ja  |  ko 

¼½¼Ç ¼³Á¤

°¡´ÉÇÑ ¾ð¾î:  en  | + es  |  ja  |  ko 

@@ -411,6 +412,7 @@ Deny from badguy.example.com

°¡´ÉÇÑ ¾ð¾î:  en  | + es  |  ja  |  ko