{"id":9622,"date":"2023-03-16T16:54:59","date_gmt":"2023-03-16T19:54:59","guid":{"rendered":"https:\/\/categoriaoutros.com.br\/?p=9622"},"modified":"2024-01-23T10:06:47","modified_gmt":"2024-01-23T13:06:47","slug":"apache-exemplos-de-configuracao-de-virtual-host","status":"publish","type":"post","link":"https:\/\/categoriaoutros.com.br\/?p=9622","title":{"rendered":"Apache: Exemplos de Configura\u00e7\u00e3o de Virtual Host"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/thumb\/1\/10\/Apache_HTTP_server_logo_%282019-present%29.svg\/480px-Apache_HTTP_server_logo_%282019-present%29.svg.png?20220805205621\" alt=\"\"\/><figcaption class=\"wp-element-caption\">apache<\/figcaption><\/figure>\n\n\n\n<p>O termo <strong>Virtual Host<\/strong><em>(ou host virtual)<\/em><strong> <\/strong>refere-se \u00e0 pr\u00e1tica de executar mais de um site, como empresa1.exemplo.com e empresa2.exemplo.com, em uma \u00fanica m\u00e1quina(servidor web). Os hosts virtuais podem ser &#8220;baseados em IP&#8221;, o que significa que voc\u00ea tem um endere\u00e7o IP diferente para cada site, ou &#8220;baseado em nome&#8221;, o que significa que voc\u00ea tem v\u00e1rios nomes em execu\u00e7\u00e3o em cada endere\u00e7o IP. O fato de estarem sendo executados no mesmo servidor f\u00edsico n\u00e3o \u00e9 aparente para o usu\u00e1rio final.<\/p>\n\n\n\n<p>Segundo o site apache:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>O Apache foi um dos primeiros servidores a oferecer suporte a hosts virtuais baseados em IP. As vers\u00f5es 1.1 e posteriores do Apache suportam hosts virtuais(vhosts) baseados em IP e baseados em nome. A \u00faltima variante de hosts virtuais \u00e0s vezes tamb\u00e9m \u00e9 chamada&nbsp;<em>host-based<\/em>&nbsp;ou&nbsp;<em>non-IP virtual hosts<\/em>.<\/p>\n<cite><a href=\"https:\/\/httpd.apache.org\/docs\/2.4\/vhosts\/index.html#:~:text=Apache%20was%20one%20of%20the%20first%20servers%20to%20support%20IP%2Dbased%20virtual%20hosts%20right%20out%20of%20the%20box.%20Versions%201.1%20and%20later%20of%20Apache%20support%20both%20IP%2Dbased%20and%20name%2Dbased%20virtual%20hosts%20(vhosts).%20The%20latter%20variant%20of%20virtual%20hosts%20is%20sometimes%20also%20called%20host%2Dbased%20or%20non%2DIP%20virtual%20hosts.\">apache.org<\/a><\/cite><\/blockquote>\n\n\n\n<p>Antes de iniciarmos \u00e9 bom atentarmos \u00e0 rela\u00e7\u00e3o entre o virtual host e dns:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>A cria\u00e7\u00e3o de configura\u00e7\u00f5es de host virtual em seu servidor Apache n\u00e3o faz com que entradas DNS sejam criadas magicamente para esses nomes de host. Voc\u00ea deve ter os nomes no DNS, resolvendo seu endere\u00e7o IP, ou ningu\u00e9m poder\u00e1 acessar seu site. Voc\u00ea pode colocar entradas em seu &#8220;<em>arquivo de hosts<\/em>&#8221; para teste local, mas isso funcionar\u00e1 apenas na m\u00e1quina com essas entradas de hosts.<\/p>\n<\/blockquote>\n\n\n\n<p>Os arquivos de hosts que a cita\u00e7\u00e3o acima fala s\u00e3o:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>no Windows<\/strong>:  C:\\Windows\\System32\\Drivers\\etc\\hosts<\/li>\n\n\n\n<li><strong>no Linux<\/strong>: \/etc\/hosts<\/li>\n<\/ul>\n\n\n\n<p>Se n\u00e3o ter um programa de DNS para criar entradas, podemos usar em nossos testes esses arquivos para falar que quando digitarmos o endere\u00e7o &#8220;meusite.com&#8221; seja acessodo, por exemplo, o ip 192.168.1.54.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Exemplos de VirtualHost<\/h2>\n\n\n\n<p>&nbsp;Os  cen\u00e1rios abaixo s\u00e3o baseados no site <a href=\"https:\/\/httpd.apache.org\/docs\/2.4\/vhosts\/examples.html\">apache.org<\/a> e envolvem v\u00e1rios sites da Web em execu\u00e7\u00e3o em um \u00fanico servidor, por meio de hosts virtuais baseados em nome ou em IP.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong><mark style=\"background-color:#abb8c3\" class=\"has-inline-color\">Executando v\u00e1rios sites baseados em nomes em um \u00fanico endere\u00e7o IP<\/mark><\/strong><\/h4>\n\n\n\n<p>Seu servidor tem v\u00e1rios nomes de host que resolvem para um \u00fanico endere\u00e7o e voc\u00ea deseja responder de forma diferente para www.example.com e www.example.org.<\/p>\n\n\n\n<pre># Ensure that Apache listens on port 80\nListen 80\n<font color=\"#2A7BDE\">&lt;VirtualHost<\/font> <font color=\"#C01C28\"><u style=\"text-decoration-style:single\">*:80<\/u><\/font><font color=\"#2A7BDE\">&gt;<\/font>\n    DocumentRoot &quot;\/www\/example1&quot;\n    ServerName www.example.com\n\n    # Other directives here\n<font color=\"#2A7BDE\">&lt;\/VirtualHost&gt;<\/font>\n\n<font color=\"#2A7BDE\">&lt;VirtualHost<\/font> <font color=\"#C01C28\"><u style=\"text-decoration-style:single\">*:80<\/u><\/font><font color=\"#2A7BDE\">&gt;<\/font>\n    DocumentRoot &quot;\/www\/example2&quot;\n    ServerName www.example.org\n\n    # Other directives here\n<font color=\"#2A7BDE\">&lt;\/VirtualHost&gt;<\/font><\/pre>\n\n\n\n<p>Os asteriscos(em <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">*:80<\/mark>) correspondem a todos os endere\u00e7os, portanto, o servidor principal n\u00e3o atende a solicita\u00e7\u00f5es. Devido ao fato de que o host virtual com ServerName www.example.com \u00e9 o primeiro no arquivo de configura\u00e7\u00e3o, ele tem a prioridade mais alta e pode ser visto como o servidor padr\u00e3o ou principal. Isso significa que, se for recebida uma solicita\u00e7\u00e3o que n\u00e3o corresponda a uma das diretivas <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\"><strong>ServerName<\/strong><\/mark> especificadas, ela ser\u00e1 atendida por este primeiro <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\"><strong>&lt;VirtualHost&gt;<\/strong><\/mark>.<\/p>\n\n\n\n<p>A configura\u00e7\u00e3o acima \u00e9 o que voc\u00ea deseja usar em quase todas as situa\u00e7\u00f5es de hospedagem virtual baseada em nome. A \u00fanica coisa para a qual essa configura\u00e7\u00e3o n\u00e3o funcionar\u00e1, na verdade, \u00e9 quando voc\u00ea estiver servindo conte\u00fado diferente com base em diferentes endere\u00e7os IP ou portas.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong><mark style=\"background-color:#abb8c3\" class=\"has-inline-color\">Hosts baseados em nome em mais de um endere\u00e7o IP<\/mark><\/strong><\/h4>\n\n\n\n<p>Voc\u00ea pode substituir * por um endere\u00e7o IP espec\u00edfico no sistema. Esses hosts virtuais ser\u00e3o usados \u200b\u200bapenas para solicita\u00e7\u00f5es HTTP recebidas na conex\u00e3o com o endere\u00e7o IP especificado.<\/p>\n\n\n\n<p>No entanto, tamb\u00e9m \u00e9 \u00fatil usar * em sistemas em que o endere\u00e7o IP n\u00e3o \u00e9 previs\u00edvel &#8211; por exemplo, se voc\u00ea tiver um endere\u00e7o IP din\u00e2mico com seu ISP e estiver usando alguma variedade de solu\u00e7\u00e3o de DNS din\u00e2mico. Como * corresponde a qualquer endere\u00e7o IP, essa configura\u00e7\u00e3o funcionaria sem altera\u00e7\u00f5es sempre que seu endere\u00e7o IP mudasse.<\/p>\n\n\n\n<p>No exemplo a seguir, o servidor tem dois endere\u00e7os IP. Em um(172.20.30.40), serviremos o servidor &#8220;principal&#8221;, server.example.com e no outro(172.20.30.50), serviremos dois ou mais hosts virtuais.<\/p>\n\n\n\n<pre>Listen 80\n\n# This is the <font color=\"#A347BA\">&quot;main&quot;<\/font> server running on 172.20.30.40\nServerName server.example.com\nDocumentRoot <font color=\"#A347BA\">&quot;\/www\/mainserver&quot;<\/font>\n\n<font color=\"#2AA1B3\">&lt;VirtualHost<\/font><font color=\"#26A269\"> 172.20.30.50<\/font><font color=\"#2AA1B3\">&gt;<\/font>\n    DocumentRoot <font color=\"#A347BA\">&quot;\/www\/example1&quot;<\/font>\n    ServerName www.example.com\n\n    # Other directives here ...\n<font color=\"#2AA1B3\">&lt;\/VirtualHost&gt;<\/font>\n\n<font color=\"#2AA1B3\">&lt;VirtualHost<\/font><font color=\"#26A269\"> 172.20.30.50<\/font><font color=\"#2AA1B3\">&gt;<\/font>\n    DocumentRoot <font color=\"#A347BA\">&quot;\/www\/example2&quot;<\/font>\n    ServerName www.example.org\n\n    # Other directives here ...\n<font color=\"#2AA1B3\">&lt;\/VirtualHost&gt;<\/font>\n<\/pre>\n\n\n\n<p>Qualquer solicita\u00e7\u00e3o para um endere\u00e7o diferente de 172.20.30.50 ser\u00e1 atendida pelo servidor principal. Uma solicita\u00e7\u00e3o para 172.20.30.50 com um nome de host desconhecido ou sem cabe\u00e7alho Host: ser\u00e1 atendida em www.example.com.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong><mark style=\"background-color:#abb8c3\" class=\"has-inline-color\">Servindo o mesmo conte\u00fado em diferentes endere\u00e7os IP (como um endere\u00e7o interno e externo)<\/mark><\/strong><\/h4>\n\n\n\n<p>Supondo um caso onde a m\u00e1quina do servidor possui dois endere\u00e7os IP: 192.168.1.1 e 172.20.30.40. A m\u00e1quina est\u00e1 entre uma rede interna(intranet) e uma rede externa(internet). Fora da rede, o nome server.example.com resolve para o endere\u00e7o externo (172.20.30.40), mas dentro da rede, esse mesmo nome resolve para o endere\u00e7o interno (192.168.1.1).<\/p>\n\n\n\n<p>O servidor pode ser configurado para responder a requisi\u00e7\u00f5es internas e externas com o mesmo conte\u00fado, com apenas uma se\u00e7\u00e3o &lt;VirtualHost&gt;.<\/p>\n\n\n\n<pre><font color=\"#2AA1B3\">&lt;VirtualHost<\/font><font color=\"#26A269\"> 192.168.1.1 172.20.30.40<\/font><font color=\"#2AA1B3\">&gt;<\/font>\n    DocumentRoot <font color=\"#A347BA\">&quot;\/www\/server1&quot;<\/font>\n    ServerName server.example.com\n    ServerAlias server\n<font color=\"#2AA1B3\">&lt;\/VirtualHost&gt;<\/font><\/pre>\n\n\n\n<p>Agora as solicita\u00e7\u00f5es de ambas as redes ser\u00e3o atendidas pelo mesmo &lt;VirtualHost&gt;.<\/p>\n\n\n\n<p>Na rede interna, pode-se usar apenas o servidor de nomes em vez do nome de host totalmente qualificado server.example.com. Observe tamb\u00e9m que, no exemplo acima, voc\u00ea pode substituir a lista de endere\u00e7os IP por *, o que far\u00e1 com que o servidor responda da mesma forma em todos os endere\u00e7os.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong><mark style=\"background-color:#abb8c3\" class=\"has-inline-color\"><br>Executando sites diferentes em portas diferentes<\/mark><\/strong><\/h4>\n\n\n\n<p>Voc\u00ea tem v\u00e1rios dom\u00ednios indo para o mesmo IP e tamb\u00e9m deseja atender a v\u00e1rias portas. O exemplo abaixo ilustra que a correspond\u00eancia de nomes ocorre ap\u00f3s a determina\u00e7\u00e3o da melhor combina\u00e7\u00e3o de porta e endere\u00e7o IP correspondente.<\/p>\n\n\n\n<pre>Listen 80\nListen 8080\n    \n<font color=\"#2AA1B3\">&lt;VirtualHost<\/font><font color=\"#26A269\"> 172.20.30.40:80<\/font><font color=\"#2AA1B3\">&gt;<\/font>\n    ServerName www.example.com\n    DocumentRoot <font color=\"#A347BA\">&quot;\/www\/domain-80&quot;<\/font>\n<font color=\"#2AA1B3\">&lt;\/VirtualHost&gt;<\/font>\n    \n<font color=\"#2AA1B3\">&lt;VirtualHost<\/font><font color=\"#26A269\"> 172.20.30.40:8080<\/font><font color=\"#2AA1B3\">&gt;<\/font>\n    ServerName www.example.com\n    DocumentRoot <font color=\"#A347BA\">&quot;\/www\/domain-8080&quot;<\/font>\n<font color=\"#2AA1B3\">&lt;\/VirtualHost&gt;<\/font>\n\n<font color=\"#2AA1B3\">&lt;VirtualHost<\/font><font color=\"#26A269\"> 172.20.30.40:80<\/font><font color=\"#2AA1B3\">&gt;<\/font>\n    ServerName www.example.org\n    DocumentRoot <font color=\"#A347BA\">&quot;\/www\/otherdomain-80&quot;<\/font>\n<font color=\"#2AA1B3\">&lt;\/VirtualHost&gt;<\/font>\n\n<font color=\"#2AA1B3\">&lt;VirtualHost<\/font><font color=\"#26A269\"> 172.20.30.40:8080<\/font><font color=\"#2AA1B3\">&gt;<\/font>\n    ServerName www.example.org\n    DocumentRoot <font color=\"#A347BA\">&quot;\/www\/otherdomain-8080&quot;<\/font>\n<font color=\"#2AA1B3\">&lt;\/VirtualHost&gt;<\/font><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong><mark style=\"background-color:#abb8c3\" class=\"has-inline-color\">virtual baseado em IP<\/mark><\/strong><\/h4>\n\n\n\n<p>Outra situa\u00e7\u00e3o: o servidor tem dois endere\u00e7os IP (172.20.30.40 e 172.20.30.50) que determinam os nomes www.example.com e www.example.org, respectivamente.<\/p>\n\n\n\n<pre>Listen 80\n\n<font color=\"#2AA1B3\">&lt;VirtualHost<\/font><font color=\"#26A269\"> 172.20.30.40<\/font><font color=\"#2AA1B3\">&gt;<\/font>\n    DocumentRoot <font color=\"#A347BA\">&quot;\/www\/example1&quot;<\/font>\n    ServerName www.example.com\n<font color=\"#2AA1B3\">&lt;\/VirtualHost&gt;<\/font>\n\n<font color=\"#2AA1B3\">&lt;VirtualHost<\/font><font color=\"#26A269\"> 172.20.30.50<\/font><font color=\"#2AA1B3\">&gt;<\/font>\n    DocumentRoot <font color=\"#A347BA\">&quot;\/www\/example2&quot;<\/font>\n    ServerName www.example.org\n<font color=\"#2AA1B3\">&lt;\/VirtualHost&gt;<\/font><\/pre>\n\n\n\n<p>Solicita\u00e7\u00f5es de qualquer endere\u00e7o n\u00e3o especificado em uma das diretivas &lt;VirtualHost&gt; (como localhost, por exemplo) ir\u00e3o para o servidor principal, se houver.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong><mark style=\"background-color:#abb8c3\" class=\"has-inline-color\">Hosts virtuais baseados em porta e IP mistos<\/mark><\/strong><\/h4>\n\n\n\n<p>A m\u00e1quina do servidor tem dois endere\u00e7os IP (172.20.30.40 e 172.20.30.50) que determinam os nomes www.example.com e www.example.org, respectivamente. Em cada caso, queremos executar hosts nas portas 80 e 8080.<\/p>\n\n\n\n<pre>Listen 172.20.30.40:80\nListen 172.20.30.40:8080\nListen 172.20.30.50:80\nListen 172.20.30.50:8080\n    \n<font color=\"#2AA1B3\">&lt;VirtualHost<\/font><font color=\"#26A269\"> 172.20.30.40:80<\/font><font color=\"#2AA1B3\">&gt;<\/font>\n    DocumentRoot <font color=\"#A347BA\">&quot;\/www\/example1-80&quot;<\/font>\n    ServerName www.example.com\n<font color=\"#2AA1B3\">&lt;\/VirtualHost&gt;<\/font>\n    \n<font color=\"#2AA1B3\">&lt;VirtualHost<\/font><font color=\"#26A269\"> 172.20.30.40:8080<\/font><font color=\"#2AA1B3\">&gt;<\/font>\n    DocumentRoot <font color=\"#A347BA\">&quot;\/www\/example1-8080&quot;<\/font>\n    ServerName www.example.com\n<font color=\"#2AA1B3\">&lt;\/VirtualHost&gt;<\/font>\n    \n<font color=\"#2AA1B3\">&lt;VirtualHost<\/font><font color=\"#26A269\"> 172.20.30.50:80<\/font><font color=\"#2AA1B3\">&gt;<\/font>\n    DocumentRoot <font color=\"#A347BA\">&quot;\/www\/example2-80&quot;<\/font>\n    ServerName www.example.org\n<font color=\"#2AA1B3\">&lt;\/VirtualHost&gt;<\/font>\n    \n<font color=\"#2AA1B3\">&lt;VirtualHost<\/font><font color=\"#26A269\"> 172.20.30.50:8080<\/font><font color=\"#2AA1B3\">&gt;<\/font>\n    DocumentRoot <font color=\"#A347BA\">&quot;\/www\/example2-8080&quot;<\/font>\n    ServerName www.example.org\n<font color=\"#2AA1B3\">&lt;\/VirtualHost&gt;<\/font><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\"><strong><mark style=\"background-color:#abb8c3\" class=\"has-inline-color\">Vhosts mistos baseados em nome e baseados em IP<\/mark><\/strong><\/h4>\n\n\n\n<p>Qualquer endere\u00e7o mencionado no argumento para um host virtual que nunca aparece em outro host virtual \u00e9 um host virtual estritamente baseado em IP.<\/p>\n\n\n\n<pre>Listen 80\n<font color=\"#2AA1B3\">&lt;VirtualHost<\/font><font color=\"#26A269\"> 172.20.30.40<\/font><font color=\"#2AA1B3\">&gt;<\/font>\n    DocumentRoot <font color=\"#A347BA\">&quot;\/www\/example1&quot;<\/font>\n    ServerName www.example.com\n<font color=\"#2AA1B3\">&lt;\/VirtualHost&gt;<\/font>\n\n<font color=\"#2AA1B3\">&lt;VirtualHost<\/font><font color=\"#26A269\"> 172.20.30.40<\/font><font color=\"#2AA1B3\">&gt;<\/font>\n    DocumentRoot <font color=\"#A347BA\">&quot;\/www\/example2&quot;<\/font>\n    ServerName www.example.org\n<font color=\"#2AA1B3\">&lt;\/VirtualHost&gt;<\/font>\n\n<font color=\"#2AA1B3\">&lt;VirtualHost<\/font><font color=\"#26A269\"> 172.20.30.40<\/font><font color=\"#2AA1B3\">&gt;<\/font>\n    DocumentRoot <font color=\"#A347BA\">&quot;\/www\/example3&quot;<\/font>\n    ServerName www.example.net\n<font color=\"#2AA1B3\">&lt;\/VirtualHost&gt;<\/font>\n\n# IP-based\n<font color=\"#2AA1B3\">&lt;VirtualHost<\/font><font color=\"#26A269\"> 172.20.30.50<\/font><font color=\"#2AA1B3\">&gt;<\/font>\n    DocumentRoot <font color=\"#A347BA\">&quot;\/www\/example4&quot;<\/font>\n    ServerName www.example.edu\n<font color=\"#2AA1B3\">&lt;\/VirtualHost&gt;<\/font>\n    \n<font color=\"#2AA1B3\">&lt;VirtualHost<\/font><font color=\"#26A269\"> 172.20.30.60<\/font><font color=\"#2AA1B3\">&gt;<\/font>\n    DocumentRoot <font color=\"#A347BA\">&quot;\/www\/example5&quot;<\/font>\n    ServerName www.example.gov\n<font color=\"#2AA1B3\">&lt;\/VirtualHost&gt;<\/font><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong><mark style=\"background-color:#abb8c3\" class=\"has-inline-color\">Usando Virtual_host e mod_proxy juntos<\/mark><\/strong><\/h4>\n\n\n\n<p>O exemplo a seguir permite que uma m\u00e1quina front-end fa\u00e7a proxy de um host virtual para um servidor em execu\u00e7\u00e3o em outra m\u00e1quina. No exemplo, um host virtual com o mesmo nome \u00e9 configurado em uma m\u00e1quina em 192.168.111.2. A diretiva <strong>ProxyPreserveHost On <\/strong>\u00e9 usada para que o nome do host desejado seja passado, caso estejamos fazendo proxy de v\u00e1rios nomes de host para uma \u00fanica m\u00e1quina.<\/p>\n\n\n\n<pre><font color=\"#2AA1B3\">&lt;VirtualHost<\/font><font color=\"#26A269\"> *:*<\/font><font color=\"#2AA1B3\">&gt;<\/font>\n    ProxyPreserveHost On\n    ProxyPass        <font color=\"#A347BA\">&quot;\/&quot;<\/font> <font color=\"#A347BA\">&quot;http:\/\/192.168.111.2\/&quot;<\/font>\n    ProxyPassReverse <font color=\"#A347BA\">&quot;\/&quot;<\/font> <font color=\"#A347BA\">&quot;http:\/\/192.168.111.2\/&quot;<\/font>\n    ServerName hostname.example.com\n<font color=\"#2AA1B3\">&lt;\/VirtualHost&gt;<\/font>\n<\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong><mark style=\"background-color:#abb8c3\" class=\"has-inline-color\">Usando <em>default<\/em> vhosts<\/mark><\/strong><\/h4>\n\n\n\n<p><strong>_default_ vhosts para todas as portas<\/strong><\/p>\n\n\n\n<p>Capturar todas as solicita\u00e7\u00f5es para qualquer endere\u00e7o IP e porta n\u00e3o especificados, ou seja, uma combina\u00e7\u00e3o de endere\u00e7o\/porta que n\u00e3o \u00e9 usada para nenhum outro host virtual.<\/p>\n\n\n\n<pre><font color=\"#2AA1B3\">&lt;VirtualHost<\/font><font color=\"#26A269\"> _default_:*<\/font><font color=\"#2AA1B3\">&gt;<\/font>\n    DocumentRoot <font color=\"#A347BA\">&quot;\/www\/default&quot;<\/font>\n<font color=\"#2AA1B3\">&lt;\/VirtualHost&gt;<\/font><\/pre>\n\n\n\n<p>O uso desse vhost padr\u00e3o com uma porta curinga evita efetivamente que qualquer solicita\u00e7\u00e3o v\u00e1 para o servidor principal.<\/p>\n\n\n\n<p>Um vhost padr\u00e3o nunca atende a uma solicita\u00e7\u00e3o enviada para um endere\u00e7o\/porta usado para vhosts baseados em nome. Se a solicita\u00e7\u00e3o contiver um desconhecido ou nenhum Host: header, ele sempre ser\u00e1 servido do vhost baseado em nome prim\u00e1rio (o vhost para esse endere\u00e7o\/porta aparecendo primeiro no arquivo de configura\u00e7\u00e3o).<\/p>\n\n\n\n<p>Voc\u00ea pode usar <strong>AliasMatch<\/strong> ou <strong>RewriteRule<\/strong> para reescrever qualquer solicita\u00e7\u00e3o para uma \u00fanica p\u00e1gina de informa\u00e7\u00f5es(ou script).<\/p>\n\n\n\n<p><strong>_default_ vhosts para diferentes portas<\/strong><\/p>\n\n\n\n<p>Igual \u00e0 configura\u00e7\u00e3o 1, mas o servidor escuta em v\u00e1rias portas e queremos usar um segundo vhost _default_ para a porta 80.<\/p>\n\n\n\n<pre><font color=\"#2AA1B3\">&lt;VirtualHost<\/font><font color=\"#26A269\"> _default_:80<\/font><font color=\"#2AA1B3\">&gt;<\/font>\n    DocumentRoot <font color=\"#A347BA\">&quot;\/www\/default80&quot;<\/font>\n    # ...\n<font color=\"#2AA1B3\">&lt;\/VirtualHost&gt;<\/font>\n    \n<font color=\"#2AA1B3\">&lt;VirtualHost<\/font><font color=\"#26A269\"> _default_:*<\/font><font color=\"#2AA1B3\">&gt;<\/font>\n    DocumentRoot <font color=\"#A347BA\">&quot;\/www\/default&quot;<\/font>\n    # ...\n<font color=\"#2AA1B3\">&lt;\/VirtualHost&gt;<\/font>\n<\/pre>\n\n\n\n<p>O vhost padr\u00e3o para a porta 80, que deve aparecer antes de qualquer vhost padr\u00e3o com uma porta curinga, captura todas as solicita\u00e7\u00f5es enviadas para um endere\u00e7o IP n\u00e3o especificado. O servidor principal nunca \u00e9 usado para atender a uma solicita\u00e7\u00e3o.<\/p>\n\n\n\n<p><strong>_default_ vhosts para uma porta<\/strong><\/p>\n\n\n\n<p>Queremos ter um vhost padr\u00e3o para a porta 80, mas nenhum outro vhost padr\u00e3o.<\/p>\n\n\n\n<pre><font color=\"#2AA1B3\">&lt;VirtualHost<\/font><font color=\"#26A269\"> _default_:80<\/font><font color=\"#2AA1B3\">&gt;<\/font>\n    DocumentRoot <font color=\"#A347BA\">&quot;\/www\/default&quot;<\/font>\n...\n<font color=\"#2AA1B3\">&lt;\/VirtualHost&gt;<\/font><\/pre>\n\n\n\n<p>Uma solicita\u00e7\u00e3o para um endere\u00e7o n\u00e3o especificado na porta 80 \u00e9 atendida pelo vhost padr\u00e3o. Qualquer outra solicita\u00e7\u00e3o para um endere\u00e7o e porta n\u00e3o especificados \u00e9 atendida pelo servidor principal.<\/p>\n\n\n\n<p>Qualquer uso de * em uma declara\u00e7\u00e3o de host virtual ter\u00e1 preced\u00eancia maior que _default_.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong><mark style=\"background-color:#abb8c3\" class=\"has-inline-color\">Migrando um vhost baseado em nome para um vhost baseado em IP<\/mark><\/strong><\/h4>\n\n\n\n<p>O vhost baseado em nome com o nome de host www.example.org (do nosso exemplo baseado em nome, configura\u00e7\u00e3o 2) deve obter seu pr\u00f3prio endere\u00e7o IP. Para evitar problemas com servidores de nome ou proxies que armazenaram em cache o endere\u00e7o IP antigo para o vhost baseado em nome, queremos fornecer ambas as variantes durante uma fase de migra\u00e7\u00e3o.<\/p>\n\n\n\n<p>A solu\u00e7\u00e3o \u00e9 f\u00e1cil, porque podemos simplesmente adicionar o novo endere\u00e7o IP (172.20.30.50) \u00e0 diretiva VirtualHost.<\/p>\n\n\n\n<pre>Listen 80\nServerName www.example.com\nDocumentRoot <font color=\"#A347BA\">&quot;\/www\/example1&quot;<\/font>\n\n<font color=\"#2AA1B3\">&lt;VirtualHost<\/font><font color=\"#26A269\"> 172.20.30.40 172.20.30.50<\/font><font color=\"#2AA1B3\">&gt;<\/font>\n    DocumentRoot <font color=\"#A347BA\">&quot;\/www\/example2&quot;<\/font>\n    ServerName www.example.org\n    # ...\n<font color=\"#2AA1B3\">&lt;\/VirtualHost&gt;<\/font>\n\n<font color=\"#2AA1B3\">&lt;VirtualHost<\/font><font color=\"#26A269\"> 172.20.30.40<\/font><font color=\"#2AA1B3\">&gt;<\/font>\n    DocumentRoot <font color=\"#A347BA\">&quot;\/www\/example3&quot;<\/font>\n    ServerName www.example.net\n    ServerAlias *.example.net\n    # ...\n<font color=\"#2AA1B3\">&lt;\/VirtualHost&gt;<\/font>\n<\/pre>\n\n\n\n<p>O vhost agora pode ser acessado por meio do novo endere\u00e7o (como um vhost baseado em IP) e por meio do endere\u00e7o antigo (como um vhost baseado em nome).<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong><mark style=\"background-color:#abb8c3\" class=\"has-inline-color\">Usando a diretiva ServerPath<\/mark><\/strong><\/h4>\n\n\n\n<p>Temos um servidor com dois vhosts baseados em nome. Para corresponder ao host virtual correto, um cliente deve enviar o host correto: cabe\u00e7alho. Antigos clientes HTTP\/1.0 n\u00e3o enviam tal cabe\u00e7alho e o Apache n\u00e3o tem ideia de qual vhost o cliente tentou alcan\u00e7ar (e atende a solicita\u00e7\u00e3o do vhost prim\u00e1rio). Para fornecer o m\u00e1ximo poss\u00edvel de compatibilidade com vers\u00f5es anteriores, criamos um vhost prim\u00e1rio que retorna uma \u00fanica p\u00e1gina contendo links com um prefixo de URL para os hosts virtuais baseados em nome.<\/p>\n\n\n\n<pre><font color=\"#2AA1B3\">&lt;VirtualHost<\/font><font color=\"#26A269\"> 172.20.30.40<\/font><font color=\"#2AA1B3\">&gt;<\/font>\n    # primary vhost\n    DocumentRoot <font color=\"#A347BA\">&quot;\/www\/subdomain&quot;<\/font>\n    RewriteEngine On\n    RewriteRule <font color=\"#A347BA\">&quot;.&quot;<\/font> <font color=\"#A347BA\">&quot;\/www\/subdomain\/index.html&quot;<\/font>\n    # ...\n<font color=\"#2AA1B3\">&lt;\/VirtualHost&gt;<\/font>\n\n<font color=\"#2AA1B3\">&lt;VirtualHost<\/font><font color=\"#26A269\"> 172.20.30.40<\/font><font color=\"#2AA1B3\">&gt;<\/font>\n    DocumentRoot <font color=\"#A347BA\">&quot;\/www\/subdomain\/sub1&quot;<\/font>\n    ServerName www.sub1.domain.tld\n    ServerPath <font color=\"#A347BA\">&quot;\/sub1\/&quot;<\/font>\n    RewriteEngine On\n    RewriteRule <font color=\"#A347BA\">&quot;^(\/sub1\/.*)&quot;<\/font> <font color=\"#A347BA\">&quot;\/www\/subdomain$1&quot;<\/font>\n    # ...\n<font color=\"#2AA1B3\">&lt;\/VirtualHost&gt;<\/font>\n\n<font color=\"#2AA1B3\">&lt;VirtualHost<\/font><font color=\"#26A269\"> 172.20.30.40<\/font><font color=\"#2AA1B3\">&gt;<\/font>\n    DocumentRoot <font color=\"#A347BA\">&quot;\/www\/subdomain\/sub2&quot;<\/font>\n    ServerName www.sub2.domain.tld\n    ServerPath <font color=\"#A347BA\">&quot;\/sub2\/&quot;<\/font>\n    RewriteEngine On\n    RewriteRule <font color=\"#A347BA\">&quot;^(\/sub2\/.*)&quot;<\/font> <font color=\"#A347BA\">&quot;\/www\/subdomain$1&quot;<\/font>\n    # ...\n<font color=\"#2AA1B3\">&lt;\/VirtualHost&gt;<\/font><\/pre>\n\n\n\n<p>Devido \u00e0 diretiva ServerPath, uma solicita\u00e7\u00e3o para a URL http:\/\/www.sub1.domain.tld\/sub1\/ \u00e9 sempre atendida pelo sub1-vhost.<\/p>\n\n\n\n<p>Uma solicita\u00e7\u00e3o para a URL http:\/\/www.sub1.domain.tld\/ s\u00f3 \u00e9 atendida a partir do sub1-vhost se o cliente enviar um host correto: cabe\u00e7alho. Se nenhum cabe\u00e7alho Host: for enviado, o cliente obt\u00e9m a p\u00e1gina de informa\u00e7\u00f5es do host principal.<\/p>\n\n\n\n<p>Observe que h\u00e1 uma estranheza: uma solicita\u00e7\u00e3o para http:\/\/www.sub2.domain.tld\/sub1\/ tamb\u00e9m \u00e9 atendida a partir do sub1-vhost se o cliente n\u00e3o enviou nenhum cabe\u00e7alho Host:.<\/p>\n\n\n\n<p>As diretivas RewriteRule s\u00e3o usadas para garantir que um cliente que enviou um host correto: o cabe\u00e7alho possa usar ambas as variantes de URL, ou seja, com ou sem prefixo de URL.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>O termo Virtual Host(ou host virtual) refere-se \u00e0 pr\u00e1tica de executar mais de um site, como empresa1.exemplo.com e empresa2.exemplo.com, em uma \u00fanica m\u00e1quina(servidor web). Os hosts virtuais podem ser &#8220;baseados em IP&#8221;, o que significa que voc\u00ea tem um endere\u00e7o IP diferente para cada site, ou &#8220;baseado em nome&#8221;, o que significa que voc\u00ea tem&#8230;<\/p>\n<p class=\"more-link-wrap\"><a href=\"https:\/\/categoriaoutros.com.br\/?p=9622\" class=\"more-link\">Read More<span class=\"screen-reader-text\"> &ldquo;Apache: Exemplos de Configura\u00e7\u00e3o de Virtual Host&rdquo;<\/span> &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[131,16],"tags":[1629,4787],"class_list":["post-9622","post","type-post","status-publish","format-standard","hentry","category-dicas-e-termos","category-informatica-dicas","tag-apache","tag-virtualhost"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Apache: Exemplos de Configura\u00e7\u00e3o de Virtual Host - Categoria Outros<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/categoriaoutros.com.br\/?p=9622\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Apache: Exemplos de Configura\u00e7\u00e3o de Virtual Host - Categoria Outros\" \/>\n<meta property=\"og:description\" content=\"O termo Virtual Host(ou host virtual) refere-se \u00e0 pr\u00e1tica de executar mais de um site, como empresa1.exemplo.com e empresa2.exemplo.com, em uma \u00fanica m\u00e1quina(servidor web). Os hosts virtuais podem ser &#8220;baseados em IP&#8221;, o que significa que voc\u00ea tem um endere\u00e7o IP diferente para cada site, ou &#8220;baseado em nome&#8221;, o que significa que voc\u00ea tem...Read More &ldquo;Apache: Exemplos de Configura\u00e7\u00e3o de Virtual Host&rdquo; &raquo;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/categoriaoutros.com.br\/?p=9622\" \/>\n<meta property=\"og:site_name\" content=\"Categoria Outros\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/categoriaoutros\" \/>\n<meta property=\"article:published_time\" content=\"2023-03-16T19:54:59+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-23T13:06:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/thumb\/1\/10\/Apache_HTTP_server_logo_%282019-present%29.svg\/480px-Apache_HTTP_server_logo_%282019-present%29.svg.png?20220805205621\" \/>\n<meta name=\"author\" content=\"Categoria: Outros\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@CategoriaOutros\" \/>\n<meta name=\"twitter:site\" content=\"@CategoriaOutros\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Categoria: Outros\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/categoriaoutros.com.br\/?p=9622#article\",\"isPartOf\":{\"@id\":\"https:\/\/categoriaoutros.com.br\/?p=9622\"},\"author\":{\"name\":\"Categoria: Outros\",\"@id\":\"https:\/\/categoriaoutros.com.br\/#\/schema\/person\/ba0f432708449436912bd6736864bb40\"},\"headline\":\"Apache: Exemplos de Configura\u00e7\u00e3o de Virtual Host\",\"datePublished\":\"2023-03-16T19:54:59+00:00\",\"dateModified\":\"2024-01-23T13:06:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/categoriaoutros.com.br\/?p=9622\"},\"wordCount\":1762,\"commentCount\":4,\"publisher\":{\"@id\":\"https:\/\/categoriaoutros.com.br\/#organization\"},\"keywords\":[\"apache\",\"VirtualHost\"],\"articleSection\":[\"Dicas e Termos\",\"Inform\u00e1tica\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/categoriaoutros.com.br\/?p=9622#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/categoriaoutros.com.br\/?p=9622\",\"url\":\"https:\/\/categoriaoutros.com.br\/?p=9622\",\"name\":\"Apache: Exemplos de Configura\u00e7\u00e3o de Virtual Host - Categoria Outros\",\"isPartOf\":{\"@id\":\"https:\/\/categoriaoutros.com.br\/#website\"},\"datePublished\":\"2023-03-16T19:54:59+00:00\",\"dateModified\":\"2024-01-23T13:06:47+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/categoriaoutros.com.br\/?p=9622#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/categoriaoutros.com.br\/?p=9622\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/categoriaoutros.com.br\/?p=9622#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\/\/categoriaoutros.com.br\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Apache: Exemplos de Configura\u00e7\u00e3o de Virtual Host\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/categoriaoutros.com.br\/#website\",\"url\":\"https:\/\/categoriaoutros.com.br\/\",\"name\":\"Categoria Outros\",\"description\":\"Assuntos Diversos\",\"publisher\":{\"@id\":\"https:\/\/categoriaoutros.com.br\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/categoriaoutros.com.br\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/categoriaoutros.com.br\/#organization\",\"name\":\"Categoria Outros\",\"alternateName\":\"Categoria Outros\",\"url\":\"https:\/\/categoriaoutros.com.br\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/categoriaoutros.com.br\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/categoriaoutros.com.br\/wp-content\/uploads\/2023\/08\/categoriaoutros-logo.jpg\",\"contentUrl\":\"https:\/\/categoriaoutros.com.br\/wp-content\/uploads\/2023\/08\/categoriaoutros-logo.jpg\",\"width\":400,\"height\":400,\"caption\":\"Categoria Outros\"},\"image\":{\"@id\":\"https:\/\/categoriaoutros.com.br\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/categoriaoutros\",\"https:\/\/twitter.com\/CategoriaOutros\",\"https:\/\/br.pinterest.com\/CategoriaOutros\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/categoriaoutros.com.br\/#\/schema\/person\/ba0f432708449436912bd6736864bb40\",\"name\":\"Categoria: Outros\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/categoriaoutros.com.br\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ed97775f0ab50750ed638ed3417ea85e19ced2c648da167a108e393ae5fd9e33?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ed97775f0ab50750ed638ed3417ea85e19ced2c648da167a108e393ae5fd9e33?s=96&d=mm&r=g\",\"caption\":\"Categoria: Outros\"},\"sameAs\":[\"http:\/\/categoriaoutros.com.br\"],\"url\":\"https:\/\/categoriaoutros.com.br\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Apache: Exemplos de Configura\u00e7\u00e3o de Virtual Host - Categoria Outros","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/categoriaoutros.com.br\/?p=9622","og_locale":"pt_BR","og_type":"article","og_title":"Apache: Exemplos de Configura\u00e7\u00e3o de Virtual Host - Categoria Outros","og_description":"O termo Virtual Host(ou host virtual) refere-se \u00e0 pr\u00e1tica de executar mais de um site, como empresa1.exemplo.com e empresa2.exemplo.com, em uma \u00fanica m\u00e1quina(servidor web). Os hosts virtuais podem ser &#8220;baseados em IP&#8221;, o que significa que voc\u00ea tem um endere\u00e7o IP diferente para cada site, ou &#8220;baseado em nome&#8221;, o que significa que voc\u00ea tem...Read More &ldquo;Apache: Exemplos de Configura\u00e7\u00e3o de Virtual Host&rdquo; &raquo;","og_url":"https:\/\/categoriaoutros.com.br\/?p=9622","og_site_name":"Categoria Outros","article_publisher":"https:\/\/www.facebook.com\/categoriaoutros","article_published_time":"2023-03-16T19:54:59+00:00","article_modified_time":"2024-01-23T13:06:47+00:00","og_image":[{"url":"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/thumb\/1\/10\/Apache_HTTP_server_logo_%282019-present%29.svg\/480px-Apache_HTTP_server_logo_%282019-present%29.svg.png?20220805205621"}],"author":"Categoria: Outros","twitter_card":"summary_large_image","twitter_creator":"@CategoriaOutros","twitter_site":"@CategoriaOutros","twitter_misc":{"Escrito por":"Categoria: Outros","Est. tempo de leitura":"9 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/categoriaoutros.com.br\/?p=9622#article","isPartOf":{"@id":"https:\/\/categoriaoutros.com.br\/?p=9622"},"author":{"name":"Categoria: Outros","@id":"https:\/\/categoriaoutros.com.br\/#\/schema\/person\/ba0f432708449436912bd6736864bb40"},"headline":"Apache: Exemplos de Configura\u00e7\u00e3o de Virtual Host","datePublished":"2023-03-16T19:54:59+00:00","dateModified":"2024-01-23T13:06:47+00:00","mainEntityOfPage":{"@id":"https:\/\/categoriaoutros.com.br\/?p=9622"},"wordCount":1762,"commentCount":4,"publisher":{"@id":"https:\/\/categoriaoutros.com.br\/#organization"},"keywords":["apache","VirtualHost"],"articleSection":["Dicas e Termos","Inform\u00e1tica"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/categoriaoutros.com.br\/?p=9622#respond"]}]},{"@type":"WebPage","@id":"https:\/\/categoriaoutros.com.br\/?p=9622","url":"https:\/\/categoriaoutros.com.br\/?p=9622","name":"Apache: Exemplos de Configura\u00e7\u00e3o de Virtual Host - Categoria Outros","isPartOf":{"@id":"https:\/\/categoriaoutros.com.br\/#website"},"datePublished":"2023-03-16T19:54:59+00:00","dateModified":"2024-01-23T13:06:47+00:00","breadcrumb":{"@id":"https:\/\/categoriaoutros.com.br\/?p=9622#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/categoriaoutros.com.br\/?p=9622"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/categoriaoutros.com.br\/?p=9622#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/categoriaoutros.com.br\/"},{"@type":"ListItem","position":2,"name":"Apache: Exemplos de Configura\u00e7\u00e3o de Virtual Host"}]},{"@type":"WebSite","@id":"https:\/\/categoriaoutros.com.br\/#website","url":"https:\/\/categoriaoutros.com.br\/","name":"Categoria Outros","description":"Assuntos Diversos","publisher":{"@id":"https:\/\/categoriaoutros.com.br\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/categoriaoutros.com.br\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/categoriaoutros.com.br\/#organization","name":"Categoria Outros","alternateName":"Categoria Outros","url":"https:\/\/categoriaoutros.com.br\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/categoriaoutros.com.br\/#\/schema\/logo\/image\/","url":"https:\/\/categoriaoutros.com.br\/wp-content\/uploads\/2023\/08\/categoriaoutros-logo.jpg","contentUrl":"https:\/\/categoriaoutros.com.br\/wp-content\/uploads\/2023\/08\/categoriaoutros-logo.jpg","width":400,"height":400,"caption":"Categoria Outros"},"image":{"@id":"https:\/\/categoriaoutros.com.br\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/categoriaoutros","https:\/\/twitter.com\/CategoriaOutros","https:\/\/br.pinterest.com\/CategoriaOutros\/"]},{"@type":"Person","@id":"https:\/\/categoriaoutros.com.br\/#\/schema\/person\/ba0f432708449436912bd6736864bb40","name":"Categoria: Outros","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/categoriaoutros.com.br\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ed97775f0ab50750ed638ed3417ea85e19ced2c648da167a108e393ae5fd9e33?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ed97775f0ab50750ed638ed3417ea85e19ced2c648da167a108e393ae5fd9e33?s=96&d=mm&r=g","caption":"Categoria: Outros"},"sameAs":["http:\/\/categoriaoutros.com.br"],"url":"https:\/\/categoriaoutros.com.br\/?author=1"}]}},"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/categoriaoutros.com.br\/index.php?rest_route=\/wp\/v2\/posts\/9622","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/categoriaoutros.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/categoriaoutros.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/categoriaoutros.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/categoriaoutros.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=9622"}],"version-history":[{"count":12,"href":"https:\/\/categoriaoutros.com.br\/index.php?rest_route=\/wp\/v2\/posts\/9622\/revisions"}],"predecessor-version":[{"id":15448,"href":"https:\/\/categoriaoutros.com.br\/index.php?rest_route=\/wp\/v2\/posts\/9622\/revisions\/15448"}],"wp:attachment":[{"href":"https:\/\/categoriaoutros.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=9622"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/categoriaoutros.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=9622"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/categoriaoutros.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=9622"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}