Caminho do tomcat do proxy Lighttpd

1

Meu tomcat serve dois sites

ROOT -> Main-site
/mobile -> dedicated mobile website 

Eu configurei o lighttpd para servir como proxy

$HTTP["host"] =~ "www.my-site.at" {
        proxy.server = ( "" => (
                        ( "host" => "127.0.0.1",
                          "port" => 8080
                        )
                ))
}

Como posso dizer ao lighttpd para usar o link para o m.my-site.at? Ou preciso configurar um segundo tomcat e implantar o site para dispositivos móveis em ROOT?

Obrigado

    
por Beig 12.04.2017 / 12:12

1 resposta

0

Você poderia usar url.rewrite-once para prefixar todas as solicitações em m.my-site.at com /mobile :

$HTTP["host"] == "m.my-site.at" {
    url.rewrite-once = ( ".*" => "/mobile$0" )
    proxy.server = (...)
}

Talvez seja necessário carregar mod_rewrite antes de mod_proxy para que isso funcione.

O problema com as reescritas é que o backend agora vê um caminho que não corresponde à visão dos navegadores. O backend pode tentar emitir caminhos prefixados com /mobile ou confundir coisas com caminhos relativos. Alguns proxies podem tentar corrigir esses caminhos nas respostas, mas o lighttpd não tenta (e você nunca pegará todos eles).

A solução real é fazer com que o backend entenda vhosts - ou seja, manipule pedidos diferentes com base no nome do host. Se o backend não puder fazer isso, você pode querer executar várias instâncias, sim.

    
por 14.04.2017 / 13:52

Tags