Posso mappare un nome host * e * una porta con / etc / hosts? [chiuso]


189

Posso mappare un indirizzo IP come 127.0.0.1un nome di dominio e una porta?

Ad esempio, vorrei mappare 127.0.0.1aapi.example.com:8000


6
Non è possibile mappare il numero di porta in / etc / hosts. Invece puoi definire come 127.0.0.1 api.mydomain.come accedervi nel browser comeapi.mydomain.com:8080
— Fizer Khan,

Ho letto da qualche parte che DNS supporta questo. Puoi avere un record che dice su www.example.com http è sulla porta 80 e anche un record A per dire che l'indirizzo è 127.0.0.1 ha anche detto che non era ben supportato. Non ha detto molto dopo.
— ctrl-alt-delor,

Risposte:


185

No, non è possibile. La porta non fa parte del nome host, quindi non ha alcun significato nel hostsfile -file.


134

Se è necessario eseguire questa operazione, utilizzare il proxy inverso.

Ad esempio, con nginx come proxy inverso

server {
  listen       api.mydomain.com:80;
  server_name  api.mydomain.com;
  location / {
    proxy_pass http://127.0.0.1:8000;
  }
}

4
Penso che la linea di proxy_pass dovrebbe assomigliare a questa: proxy_pass http://127.0.0.1:8000;ho ottenuto "prefisso URL non valido" su nginx 1.4.3.
— Nobu,

grazie per questo meraviglioso consiglio! soluzione semplice per la maggior parte dei server.
— micahscopes,

Sto usando questo trucco per mappare le porte di una macchina remota (ad esempio cloud.app:80 mentre la porta effettiva è 8080). Molto utile per testare i nodi di confluenza di un cluster ma accedendo allo stesso URL di base. Grazie!
— Gábor Nagy

9
Ho avuto sostanzialmente lo stesso problema e la soluzione che utilizza questo proxy inverso è davvero utile. Anche se volevo una soluzione più semplice, quindi ho creato questo strumento: github.com/cristianoliveira/ergo Spero che possa aiutare in qualche modo :)
— Cristian Oliveira,

Grazie @CristianOliveira! Questo mi ha aiutato
— MOLTO
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.