Für die Webentwicklung auf meinem lokalen Server ( nginx
) erstelle ich gerne Subdomain-VHosts für einige Projekte, hauptsächlich aus Gründen der Benutzerfreundlichkeit und Flexibilität. Zum Beispiel
server {
listen 80;
server_name project.myHostname;
root /that/projects/html/root;
....
}
Obwohl es technisch fragwürdig ist (?), Funktioniert es einwandfrei, wenn eine Anfrage http://project.myHostname
an denselben Computer gestellt wird . Aber ich möchte mit einer Konfiguration enden, auf die ich http://project.myHostname
von jedem Gerät aus zugreifen kann, das mit dem lokalen Netzwerk verbunden ist (und nur dort). Genau so, wie es funktioniert, wenn ich darauf zugreife myHostname
(weil ich denke, dass DNS meines Routers das in die lokale IP auflöst). Aber für die andere Sache bekomme ich alle Arten von Fehlern zu schreien, gibt es nicht so etwas wie subdomain.hostname
.
Die einzige Lösung, die ich bisher gefunden habe, ist die manuelle Bearbeitung der hosts
Datei für jedes Gerät, das diese "Adresse" anfordern kann. Gibt es eine bequemere Lösung?
Ich denke, ein Hauptproblem könnte sein, dass ich die Konzepte und Beziehungen zwischen Hostname, Domainname und dergleichen nicht richtig verstanden habe. Ich habe eine Weile damit zu kämpfen, aber es fällt mir schwer, mich darum zu kümmern.
Hier gibt es zwei Probleme.
1) Auflösen eines Namens in eine IP.
Grawitys Antwort darauf ist schon tot. Dazu bearbeiten Sie die Host-Datei entweder manuell auf allen Computern (machbar für eines von zwei Systemen, aber nicht für eine große Anzahl von Systemen).
oder Sie verwenden ein dafür vorgesehenes System. Dieses System ist DNS.
DNS ist nicht ganz trivial, aber es gibt viele einfache Anleitungen, wie man es für begrenzte Arbeit einrichtet. Nachdem Sie dies getan haben, wählen Sie aus, auf welche IP ein Hostname aufgelöst werden soll, indem Sie eine einzelne Datei bearbeiten.
1B)
Dies könnte ein guter Anfang sein. Ohne eine gute Grundlage bauen Sie auf Treibsand. Eine vollständige Antwort darauf würde wahrscheinlich nicht in einen einzelnen Beitrag passen. Suchen Sie also an anderer Stelle nach einer vollständigen Antwort.
2) HTTP.
HTTP ist ein seltsames Protokoll. Fast alle Protokolle im Internet funktionieren über TCP / IP. Datagramme werden über TCP oder UDP an eine IP gesendet.
HTTP bezieht andererseits auch den Hostnamen in seine Anfragen ein. Auf diese Weise können Sie mehrere verschiedene Webseiten mit einer IP-Port-Kombination ausführen. Normalerweise ist dies sehr praktisch, aber Sie müssen den richtigen Host senden (und auflösen). Was bedeutet, dass Sie zuerst googeln und einen DNS-Primer lesen möchten.
quelle