Apache mod_proxy + mod_rewrite = “Pedido excedeu o limite…” erro [duplicado]

1

Bom dia,

Estou usando o Apache como proxy reverso do meu aplicativo Tornado, que é executado em http://localhost:8090 . Eu quero que o Apache faça o proxy de tudo que chega a / api / v2 através de HTTPS para http://localhost:8090 . O Apache também cuida da autenticação, portanto, preciso encaminhar o nome de usuário autenticado ao meu aplicativo Tornado. Portanto, usando mod_rewrite .

Eu adicionei a seguinte entrada à configuração do Apache:

<Location "/api/v2">
    ProxyPass http://localhost:8090

    # Next four lines are to set X-Forwarded-User
    RewriteEngine On
    RewriteRule .* - [E=RU:%{LA-U:REMOTE_USER}]
    RequestHeader set X-Forwarded-User %{RU}e

    SSLRequireSSL

    AuthType Basic
    AuthName "My site"
    AuthBasicProvider external
    AuthExternal pwauth
    Require valid-user

    Order deny,allow
    Allow from all
</Location>

Isso faz maravilhas, exceto que vejo o seguinte erro no meu log do Apache:

Request exceeded the limit of 10 subrequest nesting levels due to probable confguration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.

Eu habilitei o log de depuração para a reconfiguração de mod e realmente vejo uma coisa estranha - parece que a reescrita acontece 10 vezes em loop empilhando a solicitação em si:

172.16.0.150 - admin [29/Jan/2014:19:01:06 +0200] [sm397/sid#7f8452235588][rid#7f840c0093b8/initial] (3) [perdir /api/v2/] applying pattern '.*' to uri 'proxy:http://localhost:8090/'
172.16.0.150 - admin [29/Jan/2014:19:01:06 +0200] [sm397/sid#7f8452235588][rid#7f840c01f638/subreq] (3) [perdir /api/v2/] applying pattern '.*' to uri 'proxy:http://localhost:8090/proxy:http://localhost:8090/'
172.16.0.150 - admin [29/Jan/2014:19:01:06 +0200] [sm397/sid#7f8452235588][rid#7f840c00d6a8/subreq] (3) [perdir /api/v2/] applying pattern '.*' to uri 'proxy:http://localhost:8090/proxy:http://localhost:8090/proxy:http://localhost:8090/'
172.16.0.150 - admin [29/Jan/2014:19:01:06 +0200] [sm397/sid#7f8452235588][rid#7f840c025e08/subreq] (3) [perdir /api/v2/] applying pattern '.*' to uri 'proxy:http://localhost:8090/proxy:http://localhost:8090/proxy:http://localhost:8090/proxy:http://localhost:8090/'
172.16.0.150 - admin [29/Jan/2014:19:01:06 +0200] [sm397/sid#7f8452235588][rid#7f840c029e28/subreq] (3) [perdir /api/v2/] applying pattern '.*' to uri 'proxy:http://localhost:8090/proxy:http://localhost:8090/proxy:http://localhost:8090/proxy:http://localhost:8090/proxy:http://localhost:8090/'
172.16.0.150 - admin [29/Jan/2014:19:01:06 +0200] [sm397/sid#7f8452235588][rid#7f840c02de48/subreq] (3) [perdir /api/v2/] applying pattern '.*' to uri 'proxy:http://localhost:8090/proxy:http://localhost:8090/proxy:http://localhost:8090/proxy:http://localhost:8090/proxy:http://localhost:8090/proxy:http://localhost:8090/'

Log completo aqui: link

Como consertar isso?

Obrigado

    
por Zaar Hai 29.01.2014 / 18:03

1 resposta

2

Isso é muito estranho, pois não deve haver nada causando o acréscimo nos sub-questionamentos.

Vamos ver se alguma coisa muda quando essa regra não é aplicada aos sub-questionários insanos adicionando um NS flag:

RewriteRule .* - [E=RU:%{LA-U:REMOTE_USER},NS]
    
por 29.01.2014 / 18:29