Wie bekomme ich "virtualhost" -Funktionalität in Go?

7

Mit Nginx / Django create virtualhosts ist so einfach wie die entsprechende Konfiguration zu schreiben.

Für Go habe ich das Ссылка gefunden und ich verstehe, dass ich ServeMux verwenden muss, aber wie kann ich es implementieren?

Ich meine, ich muss 1 binär für alle Projekte haben oder ich muss einen "Router" -Server erstellen, der Anfragen abhängig vom Hostnamen weiterleitet. Wie geht es "Go" -way?

    
shalakhin 05.01.2013, 10:14
quelle

2 Antworten

18

Sie haben Recht, dass Sie den ServeMux verwenden werden. Das godoc für ServeMux enthält detaillierte Informationen zur Verwendung.

Im Standard-http-Paket gibt es den DefaultServeMux, der mit den Handle-Funktionen der obersten Ebene bearbeitet werden kann. Zum Beispiel könnte eine einfache virtuelle Host-Anwendung wie folgt aussehen:

%Vor%

In diesem Beispiel treffen alle Anfragen an qa.example.com den zweiten Handler und alle Anfragen an andere Hosts treffen den ersten Handler.

    
Kyle Lemons 05.01.2013, 13:18
quelle
0

Hier ist ein weiteres Beispiel für die Bereitstellung der Funktion "virtuelle Hosts" mit golang:

Ссылка

In diesem Fall kann jeder "virtuelle Host" ein beliebiger HTTP-Server sein, wie ein anderer Webserver von golang net.http oder ein anderer herkömmlicher Webserver wie nginx. Jeder von ihnen kann entweder in derselben IP und in einem anderen Port oder in einer anderen IP und jedem Port sein. Es spielt keine Rolle, ob Sie zu einem anderen physischen Server weiterleiten, wenn Sie es tun möchten.

    
bigato 06.10.2014 21:13
quelle

Tags und Links