| <?xml version="1.0" encoding="UTF-8" ?> | |
| <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd"> | |
| <?xml-stylesheet type="text/xsl" href="./style/manual.pt-br.xsl"?> | |
| <!-- English Revision: 1933438 --> | |
| <!-- Portuguese(BR) translation: leonardolara --><!-- Reviewed by: leonardolara --> | |
| <!-- | |
| 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>Vinculando a Endereços e Portas</title> | |
| <summary> | |
| <p>Configurando o Servidor HTTP Apache para escutar em endereços e portas específicas.</p> | |
| </summary> | |
| <seealso><a href="vhosts/">Hosts Virtuais</a></seealso> | |
| <seealso><a href="dns-caveats.html">Problemas com DNS</a></seealso> | |
| <section id="overview"> | |
| <title>Visão Geral</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>Quando o httpd inicia, ele se vincula a algumas portas e endereços na | |
| máquina local e aguarda por requisições entrantes. Por padrão, | |
| ele monitora todos os endereços na máquina. No entanto, pode ser necessário | |
| monitoramento em portas específicas ou somente em | |
| endereços selecionados, ou uma combinação dos dois. Isto é muitas vezes combinado com | |
| o recurso de <a href="vhosts/">Host Virtual</a>, que determina como o | |
| <code>httpd</code> responde a endereços, nomes de hosts e portas | |
| diferentes.</p> | |
| <p>A diretiva <directive module="mpm_common">Listen</directive> | |
| informa ao servidor que ele deve aceitar | |
| requisições entrantes apenas na(s) porta(s) especificada(s) ou | |
| em combinações de endereço e porta. Se apenas um número de porta for | |
| especificado na diretiva <directive module="mpm_common">Listen</directive>, | |
| o servidor monitora a porta informada em todas as interfaces. | |
| Se um endereço IP é informado junto com uma porta, o servidor irá monitorar | |
| na porta e na interface especificadas. Múltiplas diretivas <directive | |
| module="mpm_common">Listen</directive> podem ser usadas para | |
| especificar vários endereços e portas para monitoramento. O | |
| servidor responderá a requisições de quaisquer dos endereços e | |
| portas listados.</p> | |
| <p>Por exemplo, para que o servidor aceite conexões tanto na | |
| porta 80 quanto na 8000, em todas as interfaces, use:</p> | |
| <example> | |
| <highlight language="config"> | |
| Listen 80 | |
| Listen 8000 | |
| </highlight> | |
| </example> | |
| <p>Para que o servidor aceite conexões na porta 80 para uma interface | |
| e na porta 8000 para outra, use:</p> | |
| <example> | |
| <highlight language="config"> | |
| Listen 192.0.2.1:80 | |
| Listen 192.0.2.5:8000 | |
| </highlight> | |
| </example> | |
| <p>Endereços IPv6 precisam ser envolvidos por colchetes, como no | |
| exemplo a seguir:</p> | |
| <example> | |
| <highlight language="config"> | |
| Listen [2001:db8::a00:20ff:fea7:ccea]:80 | |
| </highlight> | |
| </example> | |
| <note type="warning"><p>A sobreposição de diretivas <directive | |
| module="mpm_common">Listen</directive> resultará em um | |
| erro fatal que irá impedir o servidor de iniciar.</p> | |
| <example> | |
| (48)Address already in use: make_sock: could not bind to address [::]:80 | |
| </example> | |
| <p>Consulte esta <a | |
| href="https://cwiki.apache.org/confluence/display/httpd/CouldNotBindToAddress">discussão | |
| na wiki</a> para mais dicas de soluções de problemas.</p> | |
| </note> | |
| </section> | |
| <section id="reload"> | |
| <title>Alterando a configuração de Listen no reinício</title> | |
| <p>Quando o httpd é reiniciado, uma consideração especial precisa ser feita para | |
| alterações a diretivas <directive module="mpm_common">Listen</directive>. Durante um reinício, o httpd mantém as portas | |
| vinculadas (como na configuração original) para evitar a geração de erros | |
| "Connection refused" (conexão recusada) para quaisquer novas tentativas de conexão | |
| ao servidor. Se as alterações são feitas no conjunto de diretivas <directive module="mpm_common">Listen</directive> | |
| que conflitam com a configuração antiga, a configuração irá falhar | |
| e o servidor irá terminar.</p> | |
| <p>Por exemplo, alterando da configuração:</p> | |
| <example> | |
| <highlight language="config"> | |
| Listen 127.0.0.1:80 | |
| </highlight> | |
| </example> | |
| <p>para a configuração a seguir pode falhar, porque a vinculação da porta 80 para | |
| todos os endereços conflita com a vinculação da porta 80 somente para | |
| 127.0.0.1.</p> | |
| <example> | |
| <highlight language="config"> | |
| Listen 80 | |
| </highlight> | |
| </example> | |
| <p>Para que tal configuração tenha efeito, é necessário | |
| parar e depois iniciar o servidor.</p> | |
| </section> | |
| <section id="ipv6"> | |
| <title>Considerações Especiais sobre IPv6</title> | |
| <p>Um número crescente de plataformas implementa IPv6 e o | |
| <glossary>APR</glossary> suporta IPv6 na maioria delas, | |
| permitindo que o httpd aloque soquetes IPv6 e manipule requisições enviadas | |
| através de IPv6.</p> | |
| <p>Um fator complicador para administradores de httpd é definir se | |
| um soquete IPv6 pode lidar tanto com conexões IPv4 quanto com | |
| IPv6. Lidar com conexões IPv4 com soquete IPv6 usa | |
| endereços IPv6 mapeados para IPv4, o que é permitido por padrão na maioria | |
| das plataformas mas é proibido por padrão no FreeBSD, NetBSD e | |
| OpenBSD, para alinhamento com a política de sistema dessas | |
| plataformas. Em sistemas onde isso é proibido por padrão, um | |
| parâmetro especial do programa <program>configure</program> pode alterar este | |
| comportamento para o httpd.</p> | |
| <p>Por outro lado, em algumas plataformas como Linux e Tru64, a | |
| <strong>única</strong> forma de lidar tanto com IPv6 quanto com IPv4 é usar | |
| endereços mapeados. Se o <code>httpd</code> tiver que lidar com conexões IPv4 e IPv6 | |
| com um mínimo de soquetes, que requerem o uso de endereços IPv6 mapeados | |
| para IPv4, especifique a opção <code>--enable-v4-mapped</code> do programa <program> | |
| configure</program>.</p> | |
| <p><code>--enable-v4-mapped</code> é o padrão para todas as plataformas exceto | |
| para FreeBSD, NetBSD e OpenBSD, portanto esta é provavelmente a forma como o seu httpd foi | |
| compilado.</p> | |
| <p>Se o httpd tiver que lidar somente com conexões IPv4, independente do que | |
| a sua plataforma e APR irão suportar, especifique um endereço IPv4 em todas as | |
| diretivas <directive module="mpm_common">Listen</directive>, como nos | |
| exemplos a seguir:</p> | |
| <example> | |
| <highlight language="config"> | |
| Listen 0.0.0.0:80 | |
| Listen 192.0.2.1:80 | |
| </highlight> | |
| </example> | |
| <p>Se a sua plataforma suporta e a intenção for lidar com conexões IPv4 e | |
| IPv6 em soquetes separados (ou seja, desabilitar endereços mapeados | |
| para IPv4), especifique a opção <code>--disable-v4-mapped</code> do programa <program> | |
| configure</program>. <code>--disable-v4-mapped</code> é o padrão | |
| no FreeBSD, NetBSD, e OpenBSD.</p> | |
| </section> | |
| <section id="protocol"> | |
| <title>Especificando o protocolo com Listen</title> | |
| <p>O segundo argumento opcional <var>protocol</var> de | |
| <directive module="mpm_common">Listen</directive> | |
| não é requerido para a maioria das | |
| configurações. Se não especificado, <code>https</code> é o padrão para | |
| a porta 443 e <code>http</code> é o padrão para todas as outras portas. O | |
| protocolo é usado para determinar que módulo deve lidar com uma requisição e | |
| para aplicar otimizações de protocolo específicas com a diretiva | |
| <directive module="core">AcceptFilter</directive>.</p> | |
| <p>Somente é necessário definir o protocolo se o servidor estiver monitorando | |
| portas não padrão. Por exemplo, para servir um site <code>https</code> na porta 8443:</p> | |
| <example> | |
| <highlight language="config"> | |
| Listen 192.170.2.1:8443 https | |
| </highlight> | |
| </example> | |
| </section> | |
| <section id="virtualhost"> | |
| <title>Como Isto Funciona com Hosts Virtuais</title> | |
| <p>A diretiva <directive | |
| module="mpm_common">Listen</directive> não implementa | |
| Hosts Virtuais - ela apenas informa ao | |
| servidor principal quais endereços e portas devem ser monitorados. Se nenhuma | |
| diretiva <directive module="core" type="section">VirtualHost</directive> | |
| for usada, o servidor se comportará | |
| da mesma forma para todas as requisições aceitas. Entretanto, | |
| <directive module="core" type="section">VirtualHost</directive> | |
| pode ser usada para especificar um comportamento diferente | |
| para um ou mais dos enredeços e portas. Para implementar um | |
| Host Virtual, o servidor primeiro precisa ser informado para monitorar o | |
| endereço e a porta que serão usados. Depois, uma | |
| seção <directive module="core" type="section">VirtualHost</directive> | |
| deve ser criada para o endereço e a porta especificados para definir o | |
| comportamento desse host virtual. Observe que se a seção | |
| <directive module="core" type="section">VirtualHost</directive> | |
| estiver definida para um endereço e uma porta que o | |
| servidor não estiver monitorando, o host virutal não poderá ser acessado.</p> | |
| </section> | |
| </manualpage> |