Palavra de cautela:
A solução abaixo pode ser um grande problema de segurança porque você permite que o usuário final especifique uma porta a ser atingida no servidor backend, abrindo assim a porta para permitir o acesso a portas que não devem ser visíveis externamente.
Algum mecanismo teria que estar em vigor para evitar portas indesejadas - isso também poderia ser feito de forma semelhante com mod_rewrite
para deixar passar o que você quiser e bloquear o que você não quer.
Isso pode ser feito usando o Apache httpd mod_rewrite
e o proxy, a diretiva seria:
RewriteEngine on
RewriteRule ^/?([0-9]*)/(.*) http://www.example.com:$1/$2 [L,P]
Você precisará ativar mod_rewrite
e mod_proxy
. Para documentação completa sobre mod_rewrite
, você pode consultar:
-
mod_rewrite - especificamente sobre a
p
bandeira . - Teste suas RewriteRules
Dito isso, provavelmente seria melhor configurá-lo com ProxyPassMatch ...
ProxyPassMatch "^/?([0-9]*)/(.*)" "http://backend.example.com:$1/$2"