Você não pode mapear o número da porta em / etc / hosts. Em vez disso, você pode definir como 127.0.0.1 api.mydomain.come acessá-lo no navegador comoapi.mydomain.com:8080
Fizer Khan
Eu li em algum lugar que o DNS suporta isso. Você pode ter um registro que diz em www.example.com http está na porta 80 e também um registro A para dizer que o endereço é 127.0.0.1, mas também disse que não era bem suportado. Não falou muito depois disso.
Ctrl-alt-delor 5/02
Respostas:
184
Não, isso não é possível. A porta não faz parte do nome do host, portanto, não tem significado no hostsarquivo-
Eu acho que a linha de proxy_pass deve ficar assim: proxy_pass http://127.0.0.1:8000;Eu tenho "prefixo de URL inválido" no nginx 1.4.3.
Nobu
obrigado por esta dica maravilhosa! solução simples para a maioria dos servidores.
Micahscopes
Estou usando esse truque para mapear portas de uma máquina remota (por exemplo, cloud.app:80 enquanto a porta real é 8080). Muito útil para testar nós Confluence de um cluster, mas acessá-los na mesma URL base. Obrigado!
Gábor Nagy
9
Eu tinha basicamente o mesmo problema e a solução usando esse proxy reverso é realmente útil. Embora, eu queria alguma solução mais simples, então eu fiz esta ferramenta: github.com/cristianoliveira/ergo Espero que ajuda em alguma maneira :)
Cristian Oliveira
Obrigado @CristianOliveira! Isso me ajudou muito :)
127.0.0.1 api.mydomain.com
e acessá-lo no navegador comoapi.mydomain.com:8080
Respostas:
Não, isso não é possível. A porta não faz parte do nome do host, portanto, não tem significado no
hosts
arquivo-fonte
Se você realmente precisar fazer isso, use o proxy reverso.
Por exemplo, com nginx como proxy reverso
fonte
proxy_pass http://127.0.0.1:8000;
Eu tenho "prefixo de URL inválido" no nginx 1.4.3.