Redirecionar os caminhos HTTP para um servidor e porta diferente

0

Eu tenho um servidor doméstico que está executando vários aplicativos. Atualmente, posso acessar esses serviços remotamente, usando um número de porta específico. Devido a razões de filtragem da Web, isso não funcionará para mim quando eu estiver usando determinados computadores. Eu estou procurando uma maneira de "redirecionar" para uma porta diferente, enquanto ainda estiver usando o endereço que eu digito. Além disso, subdomínios não vai funcionar, eu vou ter que usar caminhos de pasta.

Por exemplo:

URL that I type in       Path I actually access
http://example.com       http://example.com:80
http://example.com/plex  http://example.com:32400
http://example.com/php   http://example.com:8080

Observe que a barra de endereço deve permanecer usando o endereço do tipo example.com/service, NÃO o endereço example.com:port. Além disso, nem todos os serviços são hosts da Web.

Qualquer maneira fácil / gratuita de fazer isso?

    
por Mike Christiansen 01.02.2015 / 22:22

1 resposta

0

Os quadros (muito simples) ou o proxy reverso (mais complicado, mas você pode ver mais do que apenas http://example.com/plex na barra de endereços) podem alcançar o que você deseja.

Quanto ao RDP: você não digita isso no seu navegador. Se você realmente quiser, faça o upload de uma sessão RDP salva. Você pode baixar e abrir o arquivo todas as vezes.

Apache e mod_proxy

O Apache fornece suporte para intermediação por proxy mod_proxy . O exemplo mais básico é algo assim:

ProxyPass /foo http://foo.example.com/bar
ProxyPassReverse /foo http://foo.example.com/bar

A diretiva ProxyPass determina qual caminho passar para qual servidor upstream. ProxyPassReverse faz com que o Apache reescreva alguns cabeçalhos de resposta para mascarar o endereço dos servidores upstream.

Como você deve ter notado, há uma grande deficiência: nada é reescrito na página de resposta. Portanto, a menos que haja apenas links relativos, esse método pode funcionar apenas para uma única solicitação. Problemas adicionais podem surgir se você “renomear” partes do URL. Idealmente, o aplicativo para o qual você escolhe solicitações de proxy deve suportar o uso de um proxy reverso.

Um exemplo básico para sua configuração do Plex seria algo assim:

ProxyPass /plex http://localhost:32400/
ProxyPassReverse /plex http://localhost:32400/

No entanto , parece que o Plex O Media Server é pouco cooperativo nesse sentido, então você pode ter que repensar sua ideia. Redirecionamentos simples são muito mais fáceis de configurar e funcionam sem problemas. Você não receberá um URL legal na barra de endereço.

Claro, você também pode usar o nginx para proxy reverso, e provavelmente será muito mais rápido.

    
por 01.02.2015 / 22:33