Isto é da documentação do Apache
ProxyPass Directive
Description: Maps remote servers into the local server URL-space
Syntax:
ProxyPass [path] !|url [key=value [key=value ...]] [nocanon] [interpolate] [noquery]Context: server config, virtual host, directory
Status: Extension
Module: mod_proxy
Esta diretiva permite que os servidores remotos sejam mapeados para o espaço do servidor local; o servidor local não atua como um proxy no sentido convencional, mas parece ser um espelho do servidor remoto. O servidor local é freqüentemente chamado de proxy reverso ou gateway . O caminho é o nome de um caminho virtual local; url é uma URL parcial para o servidor remoto e não pode incluir uma string de consulta.
Note: This directive cannot be used within a context.
The
ProxyRequestsdirective should usually be set off when usingProxyPass.
Suponha que o servidor local tenha o endereço http://example.com/; then
ProxyPass http://backend.example.com/
fará com que uma solicitação local para http://example.com/mirror/foo/bar seja convertida internamente em uma solicitação de proxy para http://backend.example.com/bar .
A sintaxe alternativa a seguir é possível, mas pode levar uma penalidade de desempenho quando presente em números muito grandes. A vantagem da sintaxe abaixo é que ela permite o controle dinâmico por meio da interface do Gerenciador do balanceador:
ProxyPass /mirror/foo/ http://backend.example.com/If the first argument ends with a trailing /, the second argument should also end with a trailing / and vice versa. Otherwise the resulting requests to the backend may miss some needed slashes and do not deliver the expected results.
O! A diretiva é útil em situações em que você não deseja fazer proxy reverso de um subdiretório, por exemplo,
<Location /mirror/foo/>ProxyPass http://backend.example.com/</Location><Location /mirror/foo/i>ProxyPass !</Location>
ProxyPass /mirror/foo/i ! ProxyPass /mirror/foo http://backend.example.com
fará o proxy de todas as solicitações para solicitações /mirror/foo to backend.example.com exceto feitas para /mirror/foo/i .
Ordering ProxyPass Directives
The configured
ProxyPassandProxyPassMatchrules are checked in the order of configuration. The first rule that matches wins. So usually you should sort conflictingProxyPassrules starting with the longest URLs first. Otherwise later rules for longer URLS will be hidden by any earlier rule which uses a leading substring of the URL. Note that there is some relation with worker sharing. In contrast, only oneProxyPassdirective can be placed in aLocationblock, and the most specific location will take precedence. For the same reasons exclusions must come before the generalProxyPassdirectives.
No Apache HTTP Server 2.1 e posterior, o mod_proxy suporta conexões em pool com um servidor backend. As conexões criadas sob demanda podem ser retidas em um pool para uso futuro. Limites no tamanho do pool e outras configurações podem ser codificados na diretiva ProxyPass usando os parâmetros key=value , descritos na tabela abaixo.
Por padrão, o mod_proxy permitirá e manterá o número máximo de conexões que podem ser usadas simultaneamente por esse processo filho do servidor web. Use o parâmetro max para reduzir o número do padrão. Use o parâmetro ttl para definir um horário opcional para viver; as conexões que não foram usadas por pelo menos ttl segundos serão fechadas. ttl pode ser usado para evitar o uso de uma conexão que está sujeita a fechamento devido ao tempo limite de manutenção do servidor de backend.
O pool de conexões é mantido por processo filho do servidor web e max e outras configurações não são coordenadas entre todos os processos filhos, exceto quando apenas um processo filho é permitido pela configuração ou pelo design do MPM.
Example
ProxyPass /example http://backend.example.com max=20 ttl=120 retry=300