Existe uma maneira de usar algo como RewriteRule… [PT] para um URL externo?

1

Eu tenho um servidor web não-apache em execução na porta 8000, mas isso não pode ser acessado por trás de firewalls corporativos. Então, eu gostaria de usar o meu servidor apache 2 como um proxy para este outro servidor web. Eu tentei usar:

RewriteEngine On
RewriteRule /.* http://buildbot.synergy-foss.org:8000/builders/ [PT]

... mas isso não funciona; Eu recebo:

Bad Request

Your browser sent a request that this server could not understand.

No entanto, funcionou bem com [R] .

Atualização:

Além disso, ao usar ProxyPass , recebo este erro:

Forbidden

You don't have permission to access / on this server.

    
por Nick Bolton 06.09.2010 / 11:23

2 respostas

2

Eu não recomendaria usar mod_rewrite para proxy, a menos que você tenha um motivo; mod_rewrite pode ser mais poderoso, mas parece que você não precisaria disso ... Por exemplo, parece que você quer o seguinte:

# Does't disable ProxyPass; but will disable everything you're not using
ProxyPass off
# Always setup a reverse proxy so that Apache can rewrite the URL
ProxyPass / http://buildbot.synergy-foss.org:8000/builders/
ProxyPassReverse / http://buildbot.synergy-foss.org:8000/builders/

Certifique-se de ativar a mod_proxy ( documentação aqui ) também. Boa sorte!

    
por 06.09.2010 / 13:42
0

Você deseja o sinalizador [P] , não [PT] . [PT] em uma regra de reescrita diz 'passar', permitir processamento por outros manipuladores ( Alias , Redirect etc).

Você também pode obter os mesmos resultados com mod_proxy , começando com algo como:

ProxyPass / http://buildbot.synergy-foss.org:8000/builders/
    
por 06.09.2010 / 11:29

Tags