URL do proxy para porta diferente via Lighttpd

2

Não consigo aplicar proxy a uma URL em outra porta no mesmo nome de host. Eu tenho interface de usuário (Angular 5) em execução em somehost: 8080 e o resto do aplicativo da web em somehost.com (porta 80). Eu gostaria de fazer um proxy link para link . Não tenho certeza se minha configuração está correta ou no lugar certo.

$HTTP["host"] =~ "somehost\.com$" {

        $HTTP["url"] =~ "(^/xxx/)" {
          proxy.server  = ( "" => ("" => ( "host" => "somehost.com", "port" => 8080 )))
        }

        url.rewrite-if-not-file = (
                "^/(.*)" => "/index.php/$1",
        )


}
    
por Michael Niño 17.04.2018 / 23:56

1 resposta

2

Da sua pergunta, parece que você deseja veicular http://somehost.com/xxx/file de http://somehost.com:8080/file . Nesse caso, sua configuração está errada, porque está tentando veicular http://somehost.com:8080/xxx/file . Você precisa adicionar um url.rewrite-once :

  url.rewrite-once = ( "^/xxx/(.*)$" => "/$1" )
  proxy.server  = ( "" => ( # proxy all file extensions / prefixes
    "" => # optional label to identify requests in logs
      ( "host" => "somehost",
        "port" => 8080
      )
    )
  )

Dependendo da sua versão do lighttpd, você pode ou não conseguir chamar url.rewrite de uma vez dentro de uma correspondência $ HTTP ["url"].

Certifique-se também de ter carregado os módulos mod_proxy e mod_rewrite com:

server.modules += ( "mod_proxy" )
server.modules += ("mod_rewrite")

Mais informações sobre proxy.server: link Mais informações sobre url.rewrite-once: link

    
por 23.04.2018 / 13:50