1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
|
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.es.xsl"?>
<!-- English Revision: 396609 -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<manualpage metafile="bind.xml.meta">
<title>Direcciones IP y puertos de escucha</title>
<summary>
<p>Cómo configurar Apache para que escuche en direcciones IP
y puertos específicos.</p>
</summary>
<seealso><a href="vhosts/">Hosts virtuales</a></seealso>
<seealso><a href="dns-caveats.html">Asuntos relacionados con DNS</a></seealso>
<section id="overview">
<title>Introducción</title>
<related>
<modulelist>
<module>core</module>
<module>mpm_common</module>
</modulelist>
<directivelist>
<directive module="core" type="section">VirtualHost</directive>
<directive module="mpm_common">Listen</directive>
</directivelist>
</related>
<p>Cuando Apache se inicia, comienza a esperar peticiones
entrantes en determinados puertos y direcciones de la máquina
en la que se está ejecutando. Sin embargo, si quiere que
Apache escuche solamente en determinados puertos específicos,
o solamente en determinadas direcciones, o en una combinación
de ambos, debe especificarlo adecuadamente. Esto puede además
combinarlo con la posibilidad de usar hosts virtuales,
funcionalidad con la que un servidor Apache puede responder a
peticiones en diferentes direcciones IP, diferentes nombres de
hosts y diferentes puertos.</p>
<p>La directiva <directive module="mpm_common">Listen</directive>
le indica al servidor que acepte peticiones entrantes solamente en
los puertos y en las combinaciones de puertos y direcciones que se
especifiquen. Si solo se especifica un número de puerto en la
directiva <directive module="mpm_common">Listen</directive> el
servidor escuchará en ese puerto, en todas las interfaces de
red de la máquina. Si se especifica una dirección IP y
un puerto, el servidor escuchará solamente en la interfaz de
red a la que pertenezca esa dirección IP y solamente en el
puerto indicado. Se pueden usar varias directivas <directive
module="mpm_common">Listen</directive> para
especificar varias direcciones IP y puertos de escucha. El
servidor responderá a las peticiones de todas las direcciones
y puertos que se incluyan.</p>
<p>Por ejemplo, para hacer que el servidor acepte conexiones tanto
en el puerto 80 como en el puerto 8000, puede usar:</p>
<example>
Listen 80<br />
Listen 8000
</example>
<p>Para hacer que el servidor acepte conexiones en dos interfaces
de red y puertos específicos, use</p>
<example>
Listen 192.170.2.1:80<br />
Listen 192.170.2.5:8000
</example>
<p>Las direcciones IPv6 deben escribirse entre corchetes, como en el siguiente ejemplo:</p>
<example>
Listen [2001:db8::a00:20ff:fea7:ccea]:80
</example>
</section>
<section id="ipv6">
<title>Consideraciones especiales para IPv6</title>
<p>Cada vez más plataformas implementan IPv6, y APR soporta
IPv6 en la mayor parte de esas plataformas, permitiendo que Apache
use sockets IPv6 y pueda tratar las peticiones que se envían
con IPv6.</p>
<p>Un factor de complejidad para los administradores de Apache es
si un socket IPv6 puede tratar tanto conexiones IPv4 como
IPv6. Para tratar conexiones IPv4 con sockets IPv6 se utiliza un
traductor de direcciones IPv4-IPv6, cuyo uso está permitido
por defecto en la mayor parte de las plataformas, pero que
está desactivado por defecto en FreeBSD, NetBSD, y OpenBSD
para cumplir con la política system-wide en esas
palaformas. Pero incluso en los sistemas en los que no está
permitido su uso por defecto, un parámetro especial de
<program>configure</program> puede modificar ese
comportamiento.</p>
<p>Si quiere que Apache trate conexiones IPv4 y IPv6 con un
mínimo de sockets, lo que requiere traducir direcciones IPv4
a IPv6, especifique la opción de <program>configure</program>
<code>--enable-v4-mapped</code> y use directivas <directive
module="mpm_common">Listen</directive> genéricas de la
siguiente forma:</p>
<example>
Listen 80
</example>
<p>Con <code>--enable-v4-mapped</code>, las directivas Listen en
el fichero de configuración por defecto creado por Apache
usarán ese formato. <code>--enable-v4-mapped</code> es el
valor por defecto en todas las plataformas excepto en FreeBSD,
NetBSD, y OpenBSD, de modo que esa es probablemente la manera en
que su servidor Apache fue construido.</p>
<p>Si quiere que Apache solo procese conexiones IPv4, sin tener en
cuenta cuál es su plataforma o qué soporta APR, especifique
una dirección IPv4 en todas las directivas <directive
module="mpm_common">Listen</directive>, como en
estos ejemplos:</p>
<example>
Listen 0.0.0.0:80<br />
Listen 192.170.2.1:80
</example>
<p>Si quiere que Apache procese conexiones IPv4 y IPv6 en sockets
diferentes (es decir, deshabilitar la conversión de
direcciones IPv4 a IPv6), especifique la opción de
<program>configure</program> <code>--disable-v4-mapped</code> y
use directivas Listen específicas como en el siguiente ejemplo:</p>
<example>
Listen [::]:80<br />
Listen 0.0.0.0:80
</example>
<p>Con <code>--disable-v4-mapped</code>, las directivas Listen en
el fichero de configuración que Apache crea por defecto
usarán ese formato. <code>--disable-v4-mapped</code> se usa
por defecto en FreeBSD, NetBSD, y OpenBSD.</p>
</section>
<section id="virtualhost">
<title>Cómo funciona este mecanismo en hosts virtuales</title>
<p><directive module="mpm_common">Listen</directive> no implementa
hosts virtuales. Solo le dice al servidor
principal en qué direcciones y puertos tiene que escuchar. Si no
se usan directivas <directive module="core"
type="section">VirtualHost</directive>, el servidor se comporta de
la misma manera con todas las peticiones que se acepten. Sin
embargo, <directive module="core"
type="section">VirtualHost</directive> puede usarse para
especificar un comportamiento diferente en una o varias
direcciones y puertos. Para implementar un host virtual, hay que
indicarle primero al servidor que escuche en aquellas direcciones y
puertos a usar. Entonces se debe crear un una sección
<directive module="core" type="section">VirtualHost</directive>
en una dirección y puerto específicos para determinar
el comportamiento de ese host virtual. Tenga en cuenta que si se
especifica en una sección <directive module="core"
type="section">VirtualHost</directive> una dirección y puerto
en los que el servidor no está escuchando, ese host virtual no
podrá ser accedido.</p>
</section>
</manualpage>
|