blob: a097fbe081a989a7319ca1874187c28d903ecf8e [file]
<!DOCTYPE html SYSTEM "about:legacy-compat">
<html lang="pt-br"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="width=device-width, initial-scale=1" name="viewport">
<!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>Atualizando da vers&atilde;o 2.2 para 2.4 - Servidor HTTP Apache Vers&atilde;o 2.5</title>
<link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet">
<link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size">
<link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css"><link rel="stylesheet" type="text/css" href="./style/css/prettify.css">
<script src="./style/scripts/prettify.min.js">
</script>
<link href="./images/favicon.png" rel="shortcut icon"></head>
<body id="manual-page"><div id="page-header">
<p class="menu"><a href="./mod/">M&oacute;dulos</a> | <a href="./mod/quickreference.html">Diretivas</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">Perguntas Frequentes</a> | <a href="./glossary.html">Gloss&aacute;rio</a> | <a href="./sitemap.html">Mapa do Site</a> | <a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2">Relate um problema</a></p>
<p class="apache">Servidor HTTP Apache Vers&atilde;o 2.5</p>
<img alt="" src="./images/feather.png"></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif"></a></div>
<div id="path">
<a href="https://www.apache.org/">Apache</a> &gt; <a href="https://httpd.apache.org/">Servidor HTTP</a> &gt; <a href="https://httpd.apache.org/docs/">Documenta&ccedil;&atilde;o</a> &gt; <a href="./">Vers&atilde;o 2.5</a></div><div id="page-content"><div id="preamble"><h1>Atualizando da vers&atilde;o 2.2 para 2.4</h1>
<button aria-label="Toggle language list" class="lang-toggle"><svg xmlns="http://www.w3.org/2000/svg" stroke-width="2" stroke="currentColor" fill="none" viewBox="0 0 24 24" height="16" width="16"><circle r="10" cy="12" cx="12"/><line y2="12" x2="22" y1="12" x1="2"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg></button>
<div class="toplang">
<p><span>L&iacute;nguas Dispon&iacute;veis: </span><a href="./en/upgrading.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./fr/upgrading.html" hreflang="fr" rel="alternate" title="Fran&ccedil;ais">&nbsp;fr&nbsp;</a> |
<a href="./pt-br/upgrading.html" title="Portugu&ecirc;s (Brasil)">&nbsp;pt-br&nbsp;</a></p>
</div>
<p>Para auxiliar os usu&aacute;rios na atualiza&ccedil;&atilde;o, mantemos um documento
que descreve informa&ccedil;&otilde;es essenciais para usu&aacute;rios existentes do Servidor HTTP
Apache. Estas notas s&atilde;o breves e voc&ecirc; poder&aacute; encontrar
mais informa&ccedil;&otilde;es no documento <a href="new_features_2_4.html">Novas Funcionalidades</a> ou no
arquivo <code>src/CHANGES</code>. Desenvolvedores de aplica&ccedil;&otilde;es e m&oacute;dulos
podem encontrar um resumo das altera&ccedil;&otilde;es da API na <a href="developer/new_api_2_4.html">Vis&atilde;o geral de atualiza&ccedil;&otilde;es da API</a>.</p>
<p>Este documento descreve altera&ccedil;&otilde;es no comportamento do servidor que podem
exigir que voc&ecirc; altere sua configura&ccedil;&atilde;o ou a forma como usa o servidor
para continuar usando a vers&atilde;o 2.4 da mesma forma que usa a vers&atilde;o 2.2.
Para aproveitar os novos recursos da vers&atilde;o 2.4, consulte o documento sobre Novas
Funcionalidades.</p>
<p>Este documento descreve apenas as altera&ccedil;&otilde;es da vers&atilde;o 2.2 para a 2.4. Se voc&ecirc;
estiver atualizando da vers&atilde;o 2.0, tamb&eacute;m dever&aacute; consultar o <a href="http://http://httpd.apache.org/docs/2.2/upgrading.html">Documento de Atualiza&ccedil;&atilde;o
da vers&atilde;o 2.0 para 2.2</a>.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif"> <a href="#compile-time">Altera&ccedil;&otilde;es na Configura&ccedil;&atilde;o no Momento da Compila&ccedil;&atilde;o</a></li>
<li><img alt="" src="./images/down.gif"> <a href="#run-time">Altera&ccedil;&otilde;es na Configura&ccedil;&atilde;o no Momento da Execu&ccedil;&atilde;o</a></li>
<li><img alt="" src="./images/down.gif"> <a href="#misc">Altera&ccedil;&otilde;es Miscel&acirc;neas</a></li>
<li><img alt="" src="./images/down.gif"> <a href="#third-party">M&oacute;dulos de Terceiros</a></li>
<li><img alt="" src="./images/down.gif"> <a href="#commonproblems">Problemas comuns ao atualizar</a></li>
</ul><h3>Veja tamb&eacute;m</h3><ul class="seealso"><li><a href="new_features_2_4.html">Vis&atilde;o geral das novas funcionalidades
no Servidor HTTP Apache 2.4</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div>
<div class="section">
<h2 id="compile-time">Altera&ccedil;&otilde;es na Configura&ccedil;&atilde;o no Momento da Compila&ccedil;&atilde;o <a title="Link permanente" href="#compile-time" class="permalink">&para;</a></h2>
<p>O processo de compila&ccedil;&atilde;o &eacute; muito semelhante ao usado na
vers&atilde;o 2.2. Sua antiga linha de comando <code>configure</code>
(encontrada em <code>build/config.nice</code> no diret&oacute;rio do servidor
instalado) pode ser usada na maioria dos casos. H&aacute; algumas altera&ccedil;&otilde;es nas
configura&ccedil;&otilde;es padr&atilde;o. Alguns detalhes das altera&ccedil;&otilde;es:</p>
<ul>
<li>Estes m&oacute;dulos foram removidos: mod_authn_default,
mod_authz_default, mod_mem_cache. Se voc&ecirc; estava usando
mod_mem_cache na vers&atilde;o 2.2, consulte <code class="module"><a href="./mod/mod_cache_disk.html">mod_cache_disk</a></code>
na vers&atilde;o 2.4.</li>
<li>Todas as implementa&ccedil;&otilde;es de balanceamento de carga foram movidas para
subm&oacute;dulos individuais e independentes do mod_proxy, por exemplo:
<code class="module"><a href="./mod/mod_lbmethod_bybusyness.html">mod_lbmethod_bybusyness</a></code>. Voc&ecirc; pode precisar
compilar e carregar qualquer um desses que sua configura&ccedil;&atilde;o
utiliza.</li>
<li>O suporte &agrave; plataforma foi removido para BeOS, TPF e
at&eacute; mesmo plataformas mais antigas, como A/UX, Next e Tandem. Acredita-se
que estas j&aacute; n&atilde;o estivessem funcionando corretamente.</li>
<li>configure: m&oacute;dulos din&acirc;micos (DSO) s&atilde;o compilados por padr&atilde;o.</li>
<li>configure: por padr&atilde;o, apenas um conjunto b&aacute;sico de m&oacute;dulos &eacute; carregado. As
outras diretivas <code class="directive">LoadModule</code> est&atilde;o comentadas
no arquivo de configura&ccedil;&atilde;o.</li>
<li>configure: o conjunto de m&oacute;dulos "most" ("maioria") &eacute; compilado por padr&atilde;o</li>
<li>configure: o conjunto de m&oacute;dutos "reallyall" ("realmente todos") adiciona os m&oacute;dulos de desenvolvedor
ao conjunto "all" ("todos")</li>
</ul>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div>
<div class="section">
<h2 id="run-time">Altera&ccedil;&otilde;es na Configura&ccedil;&atilde;o no Momento da Execu&ccedil;&atilde;o <a title="Link permanente" href="#run-time" class="permalink">&para;</a></h2>
<p>Houve mudan&ccedil;as significativas na configura&ccedil;&atilde;o de autoriza&ccedil;&atilde;o e outras
pequenas altera&ccedil;&otilde;es de configura&ccedil;&atilde;o que podem exigir altera&ccedil;&otilde;es em seus arquivos
de configura&ccedil;&atilde;o da vers&atilde;o 2.2 antes de us&aacute;-los na vers&atilde;o 2.4.</p>
<h3 id="authz">Autoriza&ccedil;&atilde;o</h3>
<p>Qualquer arquivo de configura&ccedil;&atilde;o que utilize autoriza&ccedil;&atilde;o provavelmente
precisar&aacute; de altera&ccedil;&otilde;es.</p>
<p>Voc&ecirc; deve revisar a se&ccedil;&atilde;o <a href="howto/auth.html">Como Fazer: Autentica&ccedil;&atilde;o,
Autoriza&ccedil;&atilde;o e Controle de Acesso</a>, especialmente a parte
<a href="howto/auth.html#beyond">Al&eacute;m da simples autoriza&ccedil;&atilde;o</a>
que explica os novos mecanismos para controlar a ordem
em que as diretivas de autoriza&ccedil;&atilde;o s&atilde;o aplicadas.</p>
<p>As diretivas que controlam como os m&oacute;dulos de autoriza&ccedil;&atilde;o respondem quando
n&atilde;o correspondem ao usu&aacute;rio autenticado foram removidas: Isso inclui
AuthzLDAPAuthoritative, AuthzDBDAuthoritative, AuthzDBMAuthoritative,
AuthzGroupFileAuthoritative, AuthzUserAuthoritative,
e AuthzOwnerAuthoritative. Essas diretivas foram substitu&iacute;das pelas
diretivas mais expressivas <code class="directive"><a href="./mod/mod_authz_core.html#requireany">RequireAny</a></code>,
<code class="directive"><a href="./mod/mod_authz_core.html#requirenone">RequireNone</a></code> e
<code class="directive"><a href="./mod/mod_authz_core.html#requireall">RequireAll</a></code>.</p>
<p>Se voc&ecirc; usa <code class="module"><a href="./mod/mod_authz_dbm.html">mod_authz_dbm</a></code>, voc&ecirc; deve migrar sua
configura&ccedil;&atilde;o para usar <code>Require dbm-group ...</code> em vez de
<code>Require group ...</code>.</p>
<h4><a name="access" id="access">Controle de acesso</a></h4>
<p>Na vers&atilde;o 2.2, o controle de acesso baseado no nome do host do cliente, no endere&ccedil;o IP,
e em outras caracter&iacute;sticas das solicita&ccedil;&otilde;es do cliente era feito usando as
diretivas <code class="directive"><a href="./mod/mod_access_compat.html#order">Order</a></code>, <code class="directive"><a href="./mod/mod_access_compat.html#allow">Allow</a></code>, <code class="directive"><a href="./mod/mod_access_compat.html#deny">Deny</a></code> e <code class="directive"><a href="./mod/mod_access_compat.html#satisfy">Satisfy</a></code>.</p>
<p>Na vers&atilde;o 2.4, esse controle de acesso &eacute; feito da mesma forma que outras
verifica&ccedil;&otilde;es de autoriza&ccedil;&atilde;o, usando o novo m&oacute;dulo
<code class="module"><a href="./mod/mod_authz_host.html">mod_authz_host</a></code>. Os antigos padr&otilde;es de controle de acesso
devem ser substitu&iacute;dos pelos novos mecanismos de autentica&ccedil;&atilde;o,
embora, para compatibilidade com configura&ccedil;&otilde;es antigas, o novo
m&oacute;dulo <code class="module"><a href="./mod/mod_access_compat.html">mod_access_compat</a></code> seja fornecido.</p>
<div class="note"><h3>Misturando diretivas antigas com novas</h3>
<p>Misturar diretivas antigas como <code class="directive"><a href="./mod/mod_access_compat.html#order">Order</a></code>, <code class="directive"><a href="./mod/mod_access_compat.html#allow">Allow</a></code> ou <code class="directive"><a href="./mod/mod_access_compat.html#deny">Deny</a></code> com novas como
<code class="directive"><a href="./mod/mod_authz_core.html#require">Require</a></code> &eacute; poss&iacute;vel tecnicamente por&eacute;m
n&atilde;o &eacute; recomendado. <code class="module"><a href="./mod/mod_access_compat.html">mod_access_compat</a></code> foi criado para suportar
configura&ccedil;&otilde;es que cont&ecirc;m somente diretivas antigas para facilitar a migra&ccedil;&atilde;o para a vers&atilde;o 2.4.
Favor verificar os exemplos abaixo para ter uma ideia melhor sobre os problemas que podem surgir.
</p>
</div>
<p>Aqui est&atilde;o alguns exemplos de maneiras antigas e novas de fazer o mesmo
controle de acesso.</p>
<p>Neste exemplo, n&atilde;o h&aacute; autentica&ccedil;&atilde;o e todas as solicita&ccedil;&otilde;es s&atilde;o negadas.</p>
<div class="example"><h3>Configura&ccedil;&atilde;o na vers&atilde;o 2.2:</h3><pre class="prettyprint lang-config">Order deny,allow
Deny from all</pre>
</div>
<div class="example"><h3>Configura&ccedil;&atilde;o na vers&atilde;o 2.4:</h3><pre class="prettyprint lang-config">Require all denied</pre>
</div>
<p>Neste exemplo, n&atilde;o h&aacute; autentica&ccedil;&atilde;o e todas as solicita&ccedil;&otilde;es s&atilde;o permitidas.</p>
<div class="example"><h3>Configura&ccedil;&atilde;o na vers&atilde;o 2.2:</h3><pre class="prettyprint lang-config">Order allow,deny
Allow from all</pre>
</div>
<div class="example"><h3>Configura&ccedil;&atilde;o na vers&atilde;o 2.4:</h3><pre class="prettyprint lang-config">Require all granted</pre>
</div>
<p>No exemplo a seguir, n&atilde;o h&aacute; autentica&ccedil;&atilde;o e todos os hosts no dom&iacute;nio example.org
t&ecirc;m acesso permitido; todos os outros t&ecirc;m acesso negado.</p>
<div class="example"><h3>Configura&ccedil;&atilde;o na vers&atilde;o 2.2:</h3><pre class="prettyprint lang-config">Order Deny,Allow
Deny from all
Allow from example.org</pre>
</div>
<div class="example"><h3>Configura&ccedil;&atilde;o na vers&atilde;o 2.4:</h3><pre class="prettyprint lang-config">Require host example.org</pre>
</div>
<p>No exemplo a seguir, misturar diretivas antigas e novas leva a
resultados inesperados.</p>
<div class="example"><h3>Misturando diretivas antigas e novas: N&Atilde;O FUNCIONA COMO ESPERADO</h3><pre class="prettyprint lang-config">DocumentRoot "/var/www/html"
&lt;Directory "/"&gt;
AllowOverride None
Order deny,allow
Deny from all
&lt;/Directory&gt;
&lt;Location "/server-status"&gt;
SetHandler server-status
Require local
&lt;/Location&gt;
access.log - GET /server-status 403 127.0.0.1
error.log - AH01797: client denied by server configuration: /var/www/html/server-status</pre>
</div>
<p>Por que o httpd nega acesso a server-status mesmo quando a configura&ccedil;&atilde;o parece permitir?
Porque as diretivas <code class="module"><a href="./mod/mod_access_compat.html">mod_access_compat</a></code> tem preced&ecirc;ncia
sobre as <code class="module"><a href="./mod/mod_authz_host.html">mod_authz_host</a></code> neste cen&aacute;rio de
<a href="sections.html#merging">mesclagem</a> de configura&ccedil;&otilde;es.</p>
<p>Este exemplo, por outro lado, funciona como esperado:</p>
<div class="example"><h3>Misturando diretivas antigas e novas: FUNCIONA COMO ESPERADO</h3><pre class="prettyprint lang-config">DocumentRoot "/var/www/html"
&lt;Directory "/"&gt;
AllowOverride None
Require all denied
&lt;/Directory&gt;
&lt;Location "/server-status"&gt;
SetHandler server-status
Order deny,allow
Deny from all
Allow From 127.0.0.1
&lt;/Location&gt;
access.log - GET /server-status 200 127.0.0.1</pre>
</div>
<p>Portanto, mesmo se a mistura de configura&ccedil;&otilde;es ainda seja
poss&iacute;vel, tente evitar na atualiza&ccedil;ao: mantenha diretivas antigas e somente
migre para as novas em um est&aacute;gio posterior ou migre tudo de uma vez.
</p>
<p>Em muitas configura&ccedil;&otilde;es com autentica&ccedil;&atilde;o, onde o valor de
<code class="directive">Satisfy</code> tinha o padr&atilde;o de <em>ALL</em>, trechos
que simplesmente desligavam o controle de acesso baseado em host s&atilde;o omitidos:</p>
<div class="example"><h3>Configura&ccedil;&atilde;o na vers&atilde;o 2.2:</h3><pre class="prettyprint lang-config"># configura&ccedil;&atilde;o na vers&atilde;o 2.2 que desliga o controle de acesso baseado em host e usa somente autentica&ccedil;&atilde;o
Order Deny,Allow
Allow from all
AuthType Basic
AuthBasicProvider file
AuthUserFile /example.com/conf/users.passwd
AuthName secure
Require valid-user</pre>
</div>
<div class="example"><h3>Configura&ccedil;&atilde;o na vers&atilde;o 2.4:</h3><pre class="prettyprint lang-config"># N&atilde;o &eacute; necess&aacute;rio substituir o controle de acesso baseado em host
AuthType Basic
AuthBasicProvider file
AuthUserFile /example.com/conf/users.passwd
AuthName secure
Require valid-user</pre>
</div>
<p>Em configura&ccedil;&otilde;es onde a autentica&ccedil;&atilde;o e o controle de acesso eram adequadamente combinados, as
diretivas de controle de acesso devem ser migradas. Este exemplo permite que as solicita&ccedil;&otilde;es atendam a <em>ambos</em> os crit&eacute;rios:</p>
<div class="example"><h3>Configura&ccedil;&atilde;o na vers&atilde;o 2.2:</h3><pre class="prettyprint lang-config">Order allow,deny
Deny from all
# Satisfy ALL is the default
Satisfy ALL
Allow from 127.0.0.1
AuthType Basic
AuthBasicProvider file
AuthUserFile /example.com/conf/users.passwd
AuthName secure
Require valid-user</pre>
</div>
<div class="example"><h3>Configura&ccedil;&atilde;o na vers&atilde;o 2.4:</h3><pre class="prettyprint lang-config">AuthType Basic
AuthBasicProvider file
AuthUserFile /example.com/conf/users.passwd
AuthName secure
&lt;RequireAll&gt;
Require valid-user
Require ip 127.0.0.1
&lt;/RequireAll&gt;</pre>
</div>
<p>Em configura&ccedil;&otilde;es onde a autentica&ccedil;&atilde;o e o controle de acesso eram adequadamente combinados, as
diretivas de controle de acesso devem ser migradas. Este exemplo permite que as solicita&ccedil;&otilde;es atendam a <em>qualquer</em> um dos crit&eacute;rios:</p>
<div class="example"><h3>Configura&ccedil;&atilde;o na vers&atilde;o 2.2:</h3><pre class="prettyprint lang-config">Order allow,deny
Deny from all
Satisfy any
Allow from 127.0.0.1
AuthType Basic
AuthBasicProvider file
AuthUserFile /example.com/conf/users.passwd
AuthName secure
Require valid-user</pre>
</div>
<div class="example"><h3>Configura&ccedil;&atilde;o na vers&atilde;o 2.4:</h3><pre class="prettyprint lang-config">AuthType Basic
AuthBasicProvider file
AuthUserFile /example.com/conf/users.passwd
AuthName secure
# &lt;RequireAny&gt; (impl&iacute;cito)
Require valid-user
Require ip 127.0.0.1</pre>
</div>
<h3 id="config">Outras mudan&ccedil;as na configura&ccedil;&atilde;o</h3>
<p>Alguns outros pequenos ajustes podem ser necess&aacute;rios para configura&ccedil;&otilde;es
em particular como discutido abaixo.</p>
<ul>
<li><code class="directive">MaxRequestsPerChild</code> foi renomeada para
<code class="directive"><a href="./mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code>,
descrevendo com maior precis&atilde;o o que ela faz. O nome antigo ainda
&eacute; suportado.</li>
<li><code class="directive">MaxClients</code> foi renomeada para
<code class="directive"><a href="./mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code>,
que descreve melhor o que ela faz. Para MPMs ass&iacute;ncronos, como
<code class="module"><a href="./mod/event.html">event</a></code>, o n&uacute;mero m&aacute;ximo de clientes n&atilde;o &eacute;
equivalente ao n&uacute;mero de threads. O nome antigo ainda
&eacute; suportado.</li>
<li>A diretiva <code class="directive"><a href="./mod/core.html#defaulttype">DefaultType</a></code>
n&atilde;o tem mais nenhum efeito al&eacute;m de emitir um
alerta se for usada com algum valor diferente de
<code>none</code>. &Eacute; necess&aacute;rio usar outras configura&ccedil;&otilde;es
para substitu&iacute;-la na vers&atilde;o 2.4.
</li>
<li>O padr&atilde;o para <code class="directive"><a href="./mod/core.html#allowoverride">AllowOverride</a></code>
agora &eacute; <code>None</code>.</li>
<li>O padr&atilde;o para <code class="directive"><a href="./mod/core.html#enablesendfile">EnableSendfile</a></code>
agora &eacute; Off.</li>
<li>O padr&atilde;o para <code class="directive"><a href="./mod/core.html#fileetag">FileETag</a></code>
agora &eacute; "MTime Size" (sem INode).</li>
<li><code class="module"><a href="./mod/mod_dav_fs.html">mod_dav_fs</a></code>: O formato do arquivo de <code class="directive"><a href="./mod/mod_dav_fs.html#davlockdb">DavLockDB</a></code> foi alterado para
sistemas com inodes. o arquivos antigo de <code class="directive"><a href="./mod/mod_dav_fs.html#davlockdb">DavLockDB</a></code> precisa ser apagado na
atualiza&ccedil;&atilde;o.
</li>
<li><code class="directive"><a href="./mod/core.html#keepalive">KeepAlive</a></code> somente
aceita valores de <code>On</code> ou <code>Off</code>.
Anteriormente, qualquer valor diferente de "Off" ou "0" era tratado como
"On".</li>
<li>As diretivas AcceptMutex, LockFile, RewriteLock, SSLMutex,
SSLStaplingMutex e WatchdogMutexPath foram substitu&iacute;das
por uma &uacute;nica diretiva <code class="directive"><a href="./mod/core.html#mutex">Mutex</a></code>.
&Eacute; necess&aacute;rio avaliar o uso dessas diretivas
removidas na configura&ccedil;&atilde;o 2.2 para determinar se elas podem
ser apenas removidas ou se precisam ser substitu&iacute;das usando <code class="directive"><a href="./mod/core.html#mutex">Mutex</a></code>.</li>
<li><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code>: <code class="directive"><a href="./mod/mod_cache.html#cacheignoreurlsessionidentifiers">CacheIgnoreURLSessionIdentifiers</a></code>
agora faz uma correspond&ecirc;ncia exata com a string de consulta em vez de
um correspond&ecirc;ncia parcial. Se a configura&ccedil;&atilde;o estava usando strings
parciais, por exemplo, usando <code>sessionid</code> para corresponder a
<code>/someapplication/image.gif;jsessionid=123456789</code>,
ent&atilde;o ser&aacute; necess&aacute;rio alterar para a string completa
<code>jsessionid</code>.
</li>
<li><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code>: O segundo par&acirc;metro para
<code class="directive"><a href="./mod/mod_cache.html#cacheenable">CacheEnable</a></code> somente
corresponde ao conte&uacute;do do proxy direto se ele come&ccedil;ar com o protocolo
correto. Na vers&atilde;o 2.2 e anteriores, um par&acirc;metro de '/' correspondia a todo o
conte&uacute;do.</li>
<li><code class="module"><a href="./mod/mod_ldap.html">mod_ldap</a></code>: <code class="directive"><a href="./mod/mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert</a></code> agora &eacute;,
consistentemente, uma configura&ccedil;&atilde;o apenas por diret&oacute;rio. Se esta diretiva
for usada, revise a configura&ccedil;&atilde;o para garantir que ela est&aacute;
presente em todos os contextos de diret&oacute;rio necess&aacute;rios.</li>
<li><code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code>: a sintaxe de <code class="directive"><a href="./mod/mod_filter.html#filterprovider">FilterProvider</a></code> foi alterada e
agora usa uma express&atilde;o booleana para determinar se um filtro est&aacute; aplicado.
</li>
<li><code class="module"><a href="./mod/mod_include.html">mod_include</a></code>:
<ul>
<li>O elemento <code>#if expr</code> agora usa o novo <a href="expr.html">analisador de express&otilde;es</a>. A sintaxe antiga pode ser
restaurada com a nova diretiva <code class="directive"><a href="./mod/mod_include.html#ssilegacyexprparser">SSILegacyExprParser</a></code>.
</li>
<li>Uma diretiva de configura&ccedil;&atilde;o SSI* em escopo de diret&oacute;rio n&atilde;o faz mais
com que todas as outras diretivas SSI* por diret&oacute;rio sejam redefinidas para seus
valores padr&atilde;o.</li>
</ul>
</li>
<li><code class="module"><a href="./mod/mod_charset_lite.html">mod_charset_lite</a></code>: A op&ccedil;&atilde;o <code>DebugLevel</code>
foi removida em favor da configura&ccedil;&atilde;o <code class="directive"><a href="./mod/core.html#loglevel">LogLevel</a></code> por m&oacute;dulo.
</li>
<li><code class="module"><a href="./mod/mod_ext_filter.html">mod_ext_filter</a></code>: A op&ccedil;&atilde;o <code>DebugLevel</code>
foi removida em favor da configura&ccedil;&atilde;o <code class="directive"><a href="./mod/core.html#loglevel">LogLevel</a></code> por m&oacute;dulo.
</li>
<li><code class="module"><a href="./mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code>: A configura&ccedil;&atilde;o padr&atilde;o para
<a class="glossarylink" href="./glossary.html#pathinfo" title="ver gloss&aacute;rio">PATH_INFO</a> foi alterada em rela&ccedil;&atilde;o &agrave; vers&atilde;o 2.2 e
algumas aplica&ccedil;&otilde;es web n&atilde;o ir&atilde;o mais operar adequadamente com a
nova configura&ccedil;&atilde;o de <code>PATH_INFO</code>. A configura&ccedil;&atilde;o anterior
pode ser restaurada atrav&eacute;s da configura&ccedil;&atilde;o da vari&aacute;vel
<code>proxy-scgi-pathinfo</code>.</li>
<li><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code>: A verifica&ccedil;&atilde;o de revoga&ccedil;&atilde;o baseada em CRL
agora precisa ser configurada explicitamente atrav&eacute;s de <code class="directive"><a href="./mod/mod_ssl.html#sslcarevocationcheck">SSLCARevocationCheck</a></code>.
</li>
<li><code class="module"><a href="./mod/mod_substitute.html">mod_substitute</a></code>: O comprimento m&aacute;ximo de linha agora
&eacute; limitado a 1MB.
</li>
<li><code class="module"><a href="./mod/mod_reqtimeout.html">mod_reqtimeout</a></code>: Se o m&oacute;dulo for carregado, ele
agora definir&aacute; alguns limites de tempo padr&otilde;es.</li>
<li><code class="module"><a href="./mod/mod_dumpio.html">mod_dumpio</a></code>: <code class="directive">DumpIOLogLevel</code>
n&atilde;o &eacute; mais suportado. Os dados s&atilde;o sempre registrados com <code class="directive"><a href="./mod/core.html#loglevel">LogLevel</a></code> no n&iacute;vel <code>trace7</code>.</li>
<li>Em plataformas Unix, comandos de registro encadeados configurados com
<code class="directive"><a href="./mod/core.html#errorlog">ErrorLog</a></code> ou
<code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> eram chamados usando
<code>/bin/sh -c</code> na vers&atilde;o 2.2 e anteriores. Na vers&atilde;o 2.4 e posteriores,
comandos de registro encadeados s&atilde;o executados diretamente. Para restaurar o
comportamento antigo, consulte a <a href="logs.html#piped">documenta&ccedil;&atilde;o sobre
registros encadeados</a>.</li>
</ul>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div>
<div class="section">
<h2 id="misc">Altera&ccedil;&otilde;es Miscel&acirc;neas <a title="Link permanente" href="#misc" class="permalink">&para;</a></h2>
<ul>
<li><code class="module"><a href="./mod/mod_autoindex.html">mod_autoindex</a></code>: agora extrai t&iacute;tulos e
exibe descri&ccedil;&otilde;es para arquivos .xhtml, que antes eram
ignorados.</li>
<li><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code>: O formato padr&atilde;o das vari&aacute;veis ​​<code>*_DN</code>
foi alterado. O formato antigo ainda pode ser usado com o novo argumento
<code>LegacyDNStringFormat</code> da diretiva <code class="directive"><a href="./mod/mod_ssl.html#ssloptions">SSLOptions</a></code>. O protocolo SSLv2
n&atilde;o &eacute; mais suportado. <code class="directive"><a href="./mod/mod_ssl.html#sslproxycheckpeercn">SSLProxyCheckPeerCN
</a></code> e <code class="directive"><a href="./mod/mod_ssl.html#sslproxycheckpeerexpire">SSLProxyCheckPeerExpire
</a></code> agora s&atilde;o ativadas por padr&atilde;o, fazendo com que as solicita&ccedil;&otilde;es de proxy para hosts HTTPS
com certificados inv&aacute;lidos ou desatualizados falhem com c&oacute;digo de status 502 (Bad
gateway)</li>
<li><code class="program"><a href="./programs/htpasswd.html">htpasswd</a></code> agora usa hash MD5 por padr&atilde;o em
todas as plataformas.</li>
<li>A diretiva <code class="directive"><a href="./mod/core.html#namevirtualhost">NameVirtualHost</a></code>
n&atilde;o tem mais efeito, al&eacute;m de emitir um
alerta. Qualquer combina&ccedil;&atilde;o de endere&ccedil;o/porta que apare&ccedil;a em v&aacute;rios
hosts virtuais &eacute; implicitamente tratada como um host virtual baseado em nome.
</li>
<li><code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code> agora ir&aacute; ignorar a compress&atilde;o se souber
que a sobrecarga de tamanho adicionada pela compress&atilde;o ser&aacute; maior que os dados
a serem comprimidos.
</li>
<li>Documentos de erro multil&iacute;ngues da vers&atilde;o 2.2.x podem n&atilde;o funcionar a menos que
sejam ajustados &agrave; nova sintaxe do elemento <code>#if expr=</code> do m&oacute;dulo <code class="module"><a href="./mod/mod_include.html">mod_include</a></code>
ou que a diretiva <code class="directive"><a href="./mod/mod_include.html#ssilegacyexprparser">SSILegacyExprParser</a></code> esteja
habilitada para o diret&oacute;rio que cont&eacute;m os documentos de erro.
</li>
<li>A funcionalidade fornecida por <code>mod_authn_alias</code>
em vers&otilde;es anteriores (ou seja, a diretiva <code class="directive"><a href="./mod/mod_authn_core.html#authnprovideralias">AuthnProviderAlias</a></code>)
foi movida para <code class="module"><a href="./mod/mod_authn_core.html">mod_authn_core</a></code>.
</li>
<li><code class="module"><a href="./mod/mod_cgid.html">mod_cgid</a></code> usa a diretiva <code class="directive"><a href="./mod/core.html#timeout">Timeout</a></code> do servidor para limitar o tempo de espera pela sa&iacute;da CGI.
Esse tempo limite pode ser alterado com <code class="directive"><a href="./mod/mod_cgid.html#cgidscripttimeout">
CGIDScriptTimeout</a></code>.
</li>
<li>A etiqueta <code>&lt;set&gt;</code> do m&oacute;dulo <code class="module"><a href="./mod/mod_include.html">mod_include</a></code> n&atilde;o
realiza mais a decodifica&ccedil;&atilde;o de entidades no valor que est&aacute; sendo definido.</li>
</ul>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div>
<div class="section">
<h2 id="third-party">M&oacute;dulos de Terceiros <a title="Link permanente" href="#third-party" class="permalink">&para;</a></h2>
<p>Todos os m&oacute;dulos devem ser recompilados para a vers&atilde;o 2.4 antes de serem carregados.</p>
<p>Muitos m&oacute;dulos de terceiros projetados para a vers&atilde;o 2.2
funcionar&atilde;o sem altera&ccedil;&otilde;es com a vers&atilde;o 2.4 do Apache HTTP Server.
Alguns exigir&atilde;o altera&ccedil;&otilde;es; consulte a <a href="developer/new_api_2_4.html">Vis&atilde;o geral da
atualiza&ccedil;&atilde;o da API</a>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div>
<div class="section">
<h2 id="commonproblems">Problemas comuns ao atualizar <a title="Link permanente" href="#commonproblems" class="permalink">&para;</a></h2>
<ul><li>Erros na inicializa&ccedil;&atilde;o:
<ul>
<li><code>Invalid command 'User', perhaps misspelled or defined by a module not included in the server configuration</code> - carregue o m&oacute;dulo <code class="module"><a href="./mod/mod_unixd.html">mod_unixd</a></code></li>
<li><code>Invalid command 'Require', perhaps misspelled or defined by a module not included in the server configuration</code>, ou
<code>Invalid command 'Order', perhaps misspelled or defined by a module not included in the server configuration</code>
- carregue o m&oacute;dulo <code class="module"><a href="./mod/mod_access_compat.html">mod_access_compat</a></code> ou atualize a configura&ccedil;&atilde;o para as diretivas de autoriza&ccedil;&atilde;o da vers&atilde;o 2.4.</li>
<li><code>Ignoring deprecated use of DefaultType in line NN of /path/to/httpd.conf</code> - remova a diretiva <code class="directive"><a href="./mod/core.html#defaulttype">DefaultType</a></code>
e substitua por outra configura&ccedil;&atilde;o.</li>
<li><code>Invalid command 'AddOutputFilterByType', perhaps misspelled
or defined by a module not included in the server configuration
</code> - <code class="directive"><a href="./mod/mod_filter.html#addoutputfilterbytype">AddOutputFilterByType</a></code>
foi movida do n&uacute;cleo para o m&oacute;dulo mod_filter, que precisa ser carregado.</li>
</ul></li>
<li>Erros ao servir requisi&ccedil;&otilde;es:
<ul>
<li><code>configuration error: couldn't check user: /path</code> -
carregue o m&oacute;dulo <code class="module"><a href="./mod/mod_authn_core.html">mod_authn_core</a></code>.</li>
<li>arquivos <code>.htaccess</code> s&atilde;o est&atilde;o sendo processados - Verifique uma
diretiva <code class="directive"><a href="./mod/core.html#allowoverride">AllowOverride</a></code> apropriada;
o padr&atilde;o mudou para <code>None</code> na vers&atilde;o 2.4.</li>
</ul>
</li>
</ul>
</div></div>
<div class="bottomlang">
<p><span>L&iacute;nguas Dispon&iacute;veis: </span><a href="./en/upgrading.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./fr/upgrading.html" hreflang="fr" rel="alternate" title="Fran&ccedil;ais">&nbsp;fr&nbsp;</a> |
<a href="./pt-br/upgrading.html" title="Portugu&ecirc;s (Brasil)">&nbsp;pt-br&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Copyright 2026 The Apache Software Foundation.<br>Licenciado sob a <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">M&oacute;dulos</a> | <a href="./mod/quickreference.html">Diretivas</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">Perguntas Frequentes</a> | <a href="./glossary.html">Gloss&aacute;rio</a> | <a href="./sitemap.html">Mapa do Site</a> | <a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2">Relate um problema</a></p></div><script><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
}
var langToggle = document.querySelector('.lang-toggle');
var topLang = document.querySelector('.toplang');
if (langToggle && topLang) {
langToggle.addEventListener('click', function() { topLang.classList.toggle('open'); });
}
var qv = document.getElementById('quickview');
if (qv) {
document.body.appendChild(qv);
var qvBtn = document.createElement('button');
qvBtn.className = 'qv-toggle';
qvBtn.setAttribute('aria-label', 'Toggle page navigation');
qvBtn.innerHTML = '&#9776;';
document.body.appendChild(qvBtn);
qvBtn.addEventListener('click', function() {
var isOpen = qv.classList.toggle('open');
if (isOpen) {
qv.style.top = window.scrollY + 10 + 'px';
}
});
window.addEventListener('scroll', function() { qv.classList.remove('open'); });
}
//--><!]]></script>
</body></html>