
Ich habe eine Webanwendung in K8 in AWS bereitgestellt und LoadBalancer so konfiguriert, dass sie dieselbe aus dem Internet aufruft. Im Postman rufe ich Folgendes auf:
ERHALTENhttps://myteams.myorg.net/config Header: Host doom.myteams.myorg.net Ich kann wie folgt in die entsprechende HTTP-Anfrage konvertieren
GET /config HTTP/1.1 Host: myteams.myorg.net Host: doom.myteams.myorg.net
Aber ich möchte dasselbe über die Browser-URL aufrufen? Ich habe mehrere Möglichkeiten ausprobiert, kann aber keinen HTTP-Header in die URL einfügen -https://myteams.myorg.net/config/doom.myteams.myorg.net aber „/config/doom.myteams.myorg.net“ wird als Parameter behandelt.
Antwort1
Sie müssen doom.myteams.example.net
Ihrem DNS eine Subdomäne hinzufügen, die auf die IP-Adresse Ihres Servers verweist.
Durch anschließendes Öffnen https://doom.myteams.example.net
wird Ihre Anfrage an den richtigen virtuellen Host weitergeleitet.
Wenn dies nur für einen Computer verfügbar sein soll, können Sie /etc/hosts
(*nix) oder C:\Windows\System32\drivers\etc\hosts
(Windows) bearbeiten und den Hostnamen + die IP-Adresse in der Datei hinzufügen.
Antwort2
Das tust du nicht.
Sie können HTTP-Header nicht als Teil einer URL festlegen, so funktioniert das nicht.
Bestenfalls können Sie mithilfe eines Browser-Plugins beliebige HTTP-Header hinzufügen/festlegen, aber das hängt von dem von Ihnen verwendeten Browser ab. Und es handelt sich um eine einmalige Test-/Entwicklungsoption.
Die Host
Variable muss mit dem Host-Teil der URL übereinstimmen. So weiß der Ingress-Controller, an welchen Dienst die Anforderung weitergeleitet werden soll.