| <?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> |