Comparado à resposta do slm, tendo que manter dois locais diferentes (iptables e apache) e também dando o efeito colateral de não poder visitar / no localhost: 3280, usaria apenas o Apache para conseguir o resultado. Isso servirá o ElasticSearch via / on 3000 (e não "redirecionará" o usuário para localhost: 3280 / some / long / url - alterando o URL que aparece no navegador). Essa solução lida com as etapas nº 4 e nº 7 de uma só vez (os aplicativos no nº 7 podem redirecionar o tráfego para IPs diferentes no nível nº 4).
Desde que você tenha mod_proxy
carregado em seu Apache, você pode alterar sua porta 3000 <VirtualHost>
(suponho que esteja usando *
e não o 127.0.0.1 na declaração virtualhost):
<VirtualHost *:3000>
.
.
.
RewriteEngine On
ProxyPass / http://127.0.0.1:3280/some/long/url
ProxyPassReverse / http://127.0.0.1:3280/some/long/url
</VirtualHost>
EDITAR: Corrija que a regra deve estar em 3000 e proxypass para 3280, clarifique as diferenças para a sugestão de slm e remova o ponto sobre a mudança de 127.0.0.1 no ProxyPass (como é o virtualhost snippet é exatamente o que é perguntado na pergunta original).
Referências:
Documentação do Apache da diretiva Virtualhost e Documentação da Apache sobre a Diretiva ProxyPass.