Kann ich einen Hostnamen * und * einen Port mit / etc / hosts zuordnen? [geschlossen]

189

Kann ich eine IP-Adresse 127.0.0.1einem Domainnamen und einem Port zuordnen?

Zum Beispiel würde ich zur Karte gerne 127.0.0.1zuapi.example.com:8000

Carson
quelle
6
Sie können die Portnummer nicht in / etc / hosts zuordnen. Stattdessen können Sie als definieren 127.0.0.1 api.mydomain.comund im Browser darauf zugreifen wieapi.mydomain.com:8080
Fizer Khan
Ich habe irgendwo gelesen, dass DNS dies unterstützt. Sie können einen Datensatz haben, der auf www.example.com besagt, dass http auf Port 80 ist, und einen A-Datensatz, der besagt, dass die Adresse 127.0.0.1 lautet. Außerdem wurde angegeben, dass sie nicht gut unterstützt wurde. Danach sagte es nicht viel.
Strg-Alt-Delor

Antworten:

184

Nein, das ist nicht möglich. Der Port ist nicht Teil des Hostnamens, hat also keine Bedeutung in der hosts-file.

mata
quelle
134

Wenn Sie dies wirklich tun müssen, verwenden Sie den Reverse Proxy.

Zum Beispiel mit nginx als Reverse-Proxy

server {
  listen       api.mydomain.com:80;
  server_name  api.mydomain.com;
  location / {
    proxy_pass http://127.0.0.1:8000;
  }
}
Eric Fortis
quelle
4
Ich denke, die Zeile von proxy_pass sollte so aussehen: proxy_pass http://127.0.0.1:8000;Ich habe "ungültiges URL-Präfix" auf nginx 1.4.3.
Nobu
danke für diesen wunderbaren tipp! einfache Lösung für die meisten Server.
Micahscopes
Ich verwende diesen Trick, um Ports eines Remote-Computers zuzuordnen (z. B. cloud.app:80, während der tatsächliche Port 8080 ist). Sehr nützlich, um Confluence-Knoten eines Clusters zu testen, aber über dieselbe Basis-URL auf sie zuzugreifen. Vielen Dank!
Gábor Nagy
9
Ich hatte im Grunde das gleiche Problem und die Lösung mit diesem Reverse-Proxy ist wirklich hilfreich. Obwohl ich eine einfachere Lösung wollte, habe ich dieses Tool erstellt: github.com/cristianoliveira/ergo Ich hoffe, es hilft irgendwie :)
Cristian Oliveira
Danke @CristianOliveira! Dies hat mir sehr geholfen :)
Brunetton