Emular a configuração do proxy nginx no apache com o mod_proxy, como?

1

Eu tenho uma configuração de trabalho no nginx que é assim

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_redirect default;

        proxy_set_header    Host        $host;
        proxy_set_header    X-Real-IP   $remote_addr;
        proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;

        client_max_body_size       100m;
        client_body_buffer_size    128k;

        proxy_connect_timeout      600;
        proxy_send_timeout         600;
        proxy_read_timeout         600;

        proxy_buffer_size          4k;
        proxy_buffers              4 32k;
        proxy_busy_buffers_size    64k;
        proxy_temp_file_write_size 64k;
    }

    location ~* ^.+.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|htm|html)$ {
        root PATH_TO_STATIC_CONTENT;
    }

}

Como posso emular isso com o apache? Eu tentei a configuração abaixo, mas o conteúdo estático não serve.

<VirtualHost *:80>
ServerName example.com
DocumentRoot PATH_TO_STATIC CONTENT
<Location />
  ProxyPass http://127.0.0.1:8000
</Location>
<LocationMatch SAME_REGEXP_AS_NGINX>
    ProxyPass !
</LocationMatch>
</VirtualHost>

Como posso obter conteúdo estático para veiculação da mesma maneira que o nginx? Ou é mesmo possível? Agradecemos antecipadamente

    
por sagarchalise 27.06.2012 / 03:26

1 resposta

1

A ordem das diretivas ProxyPass é importante e, ao contrário do nginx, todos os blocos de localização correspondentes são aplicados, do menos específico ao mais específico.

Em outras palavras, você precisará mudar um pouco sua abordagem para que funcione.

Provavelmente, a abordagem mais direta e legível seria usar mod_rewrite:

RewriteRule \.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|htm|html)$ - [L]
RewriteRule ^/(.*)$ http://127.0.0.1:8000/$1 [P,L]
    
por 27.06.2012 / 03:34