wake-up-neo.net

Wie füge ich einen Platzhalter in / etc / hosts ein?

Ich wollte vor kurzem alle Subdomains für eine Testdomain zeigen, sagen wir example.com zum localhost. Gibt es eine Möglichkeit, alle Anfragen auf * .example.com auf 127.0.0.1 zu verweisen

71
aamir

Es kommt vor, dass /etc/hosts Datei unterstützt keine Platzhaltereinträge.

Sie müssen andere Dienste wie dnsmasq verwenden. Um es in dnsmasq zu aktivieren, bearbeiten Sie einfach dnsmasq.conf und füge folgende Zeile hinzu:

address=/example.com/127.0.0.1
87
aamir

Hier ist die Konfiguration für diejenigen, die versuchen, das ursprüngliche Ziel zu erreichen (Platzhalter, die alle auf dieselbe Codebasis zeigen - nichts installieren, Entwicklungsumgebung, dh XAMPP)

hosts-Datei (einen Eintrag hinzufügen)

datei:/etc/hosts (nicht Windows)

127.0.0.1   example.local

httpd.conf Konfiguration (aktiviere vhosts)

datei: /XAMPP/etc/httpd.conf

# Virtual hosts
Include etc/extra/httpd-vhosts.conf

konfiguration von httpd-vhosts.conf

datei: XAMPP/etc/extra/httpd-vhosts.conf

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "/path_to_XAMPP/htdocs"
    ServerName example.local
    ServerAlias *.example.local
#    SetEnv APP_ENVIRONMENT development
#    ErrorLog "logs/example.local-error_log"
#    CustomLog "logs/example.local-access_log" common
</VirtualHost>

starte Apache neu

pac Datei erstellen:

speichern Sie die Datei als whatever.pac, wo immer Sie möchten, und laden Sie sie dann im Netzwerk des Browsers> Proxy> Auto_Configuration-Einstellungen (laden Sie sie neu, wenn Sie dies ändern).

function FindProxyForURL(url, Host) {
  if (shExpMatch(Host, "*example.local")) {
    return "PROXY example.local";
  }
  return "DIRECT";
}
6
Daniel Jordi

benutze dnsmasq

stellen Sie sich vor, Sie verwenden eine debian-basierte Distribution (Ubuntu, Mint ..). Prüfen Sie, ob sie mit installiert ist

(Sudo) systemctl status dnsmasq

If es ist nur deaktiviert, starte mit

(Sudo) systemctl start dnsmasq

Wenn Sie müssen es installieren, schreiben Sie

(Sudo) apt-get install dnsmasq

So definieren Sie aufzulösende Domänen: Bearbeiten /etc/dnsmasq.conf so was

address=/example.com/127.0.0.1

* .example.com auflösen

! Sie müssen dnsmasq neu laden, damit die Änderungen wirksam werden!

systemctl reload dnsmasq
3
Immanuel