
Ich habe meinen Blog auf der Domain palashbauri.in
, einer statischen Hugo-Site, die auf Cloudflare Pages gehostet wird. DNS wird von Cloudflare verwaltet. Derzeit palashbauri.in
hat meine Domain einen CNAME-Eintrag, der auf den Blog verweist.
Mein Blog ist also über Port 80 und 443 mit http(s) erreichbar. Wie sollte ich, wenn möglich, meinen DNS-Eintrag konfigurieren, um das Gemini- und Gopher-Protokoll über dieselbe Domäne zugänglich zu machen, z. B.
gemini://palashbauri.in
, gopher://palashbauri.in
?
Ich weiß, ich kann es mit Subdomains wie gemini://gemini.palashbauri.in
oder zum Laufen bringen gopher://gopher.palashbauri.in
, aber es wäre schön, es ohne Subdomains zugänglich zu machen?
Kurzeinführung zum Gemini-Protokoll: TCP-Serverprotokoll, das auf Port 1965 läuft.
Das Gopher-Protokoll läuft auf Port 70.
Antwort1
Wenn möglich, wie sollte ich meinen DNS-Eintrag konfigurieren, um das Gemini- und Gopher-Protokoll in derselben Domäne zugänglich zu machen, wie zum Beispiel
Das ist nur möglich, wennalleProtokolle werden auf demselben System gehostet. Das heißt, Sie müssen Ihren HTTP-Dienst aus Cloudflare herausnehmen und ihn auf derselben Maschine wie Gemini/Gopher hosten. (Das heißt, Sie können weder Cloudflare Pages verwendennochCloudflare-Proxy-CDN.) Wenn das erledigt ist, müssen Sie mit DNS überhaupt nichts weiter tun.
Wenn Sie nur eine normale Abfrage für A/AAAA-Einträge durchführen, DNSweiß nichtwelches Protokoll Sie damit verwenden werden. Es kennt lediglich den Domänennamen und den angeforderten Datensatztyp, sodass Siekann nichtLeiten Sie einige Apps auf den Cloudflare Pages-Server und andere Apps auf Ihren Gopher/Gemini-Server um, wenn sie alle genau denselben Namen anfordern.
Es gibtmancheProtokolle, bei denen der Client absichtlich zuerst eine protokollspezifische DNS-Abfrage durchführt. Beispielsweise suchen E-Mail-Server nach MX-Einträgen vor A/AAAA, und Minecraft sucht nach SRV-Einträgen, _minecraft._tcp.<domain>
bevor es in der Domäne selbst nach A/AAAA sucht. Dadurch kann der Mailserver oder der Spieleserver auf einer völlig anderen Maschine gehostet werden als alles andere in der Domäne.
Bei den meisten Protokollen, die über keine solchen Bestimmungen verfügen, besteht die einzige Möglichkeit, DNS-Anfragen von Gemini-Clients von Anfragen von HTTP-Clients zu unterscheiden, darin, für sie unterschiedliche Subdomänen zu verwenden. (Aus diesem Grund wurden Subdomänen wie ftp
und www
überhaupt so häufig verwendet.)
Die einzige andere Lösung besteht darin, einen Server zu haben, der alle Verbindungen akzeptiert undRelaiseinige davon an einen anderen Server. Ihr Gopher-Server könnte beispielsweise HTTP-Verbindungen über einen gängigen „Reverse-Proxy“ annehmen und die Anfragen an Cloudflare Pages weiterleiten – allerdings verlieren Sie damit die Vorteile des Hostens der Site auf CF vollständig. Alternativ könnte Cloudflare TCP-Verbindungen über die Ports 70/1965 an Ihren Server weiterleiten, aber ich glaube, das ist nur Teil ihrer teuren Enterprise-Pläne.