HTTP と Gemini または Gopher プロトコルの両方を使用してドメインの DNS を設定する

HTTP と Gemini または Gopher プロトコルの両方を使用してドメインの DNS を設定する

私はドメイン にブログを持っていますpalashbauri.in。これは Cloudflare Pages でホストされている静的な hugo サイトです。DNS は Cloudflare によって管理されています。現在、私のドメインpalashbauri.inにはブログを指す CNAME レコードがあります。

私のブログはポート80と443でhttp(s)で利用できます。可能であれば、DNSレコードをどのように設定すれば、geminiとgopherプロトコルを同じドメインでアクセスできるようになりますか?

gemini://palashbauri.ingopher://palashbauri.in

gemini://gemini.palashbauri.inまたはなどのサブドメインを使用して動作させることはできますgopher://gopher.palashbauri.inが、サブドメインを使用せずにアクセスできるようにすることはできますか?

Gemini プロトコルの簡単な紹介: ポート 1965 で実行される TCP サーバー プロトコル。

Gopher プロトコルはポート 70 で実行されます。

答え1

可能であれば、DNSレコードをどのように設定すれば、geminiとgopherプロトコルを同じドメインでアクセスできるようになりますか?

それは、全てプロトコルは同じシステムでホストされています。つまり、HTTPサービスをCloudflareから移動し、Gemini/Gopherと同じマシンでホストする必要があります。(つまり、Cloudflare PagesとGemini/Gopherのどちらも使用できません。またはCloudflare プロキシ CDN。) これが完了すると、DNS で追加の操作を行う必要はまったくなくなります。

A/AAAAレコードの通常のクエリを実行すると、DNS知らないどのようなプロトコルを使用するかはわかりません。ドメイン名と要求されているレコードの種類だけがわかっているので、できないすべてのアプリがまったく同じ名前を要求している場合は、一部のアプリを Cloudflare Pages サーバーにリダイレクトし、他のアプリを Gopher/Gemini サーバーにリダイレクトします。

があるいくつかのクライアントが意図的に最初にプロトコル固有の DNS クエリを実行するプロトコル - たとえば、電子メール サーバーは A/AAAA の前に MX レコードを検索し、Minecraft は_minecraft._tcp.<domain>ドメイン自体で A/AAAA を検索する前に SRV レコードを検索します。これにより、メール サーバーまたはゲーム サーバーを、ドメイン上の他のすべてのものとはまったく異なるマシンでホストできるようになります。

しかし、そのような規定がないプロトコルの大半では、Gemini クライアントによる DNS 要求と HTTP クライアントによる要求を区別する唯一の方法は、それらに異なるサブドメインを使用することです。(そもそも、 や のようなサブドメインがftp一般www的に使用されていたのはそのためです。)


唯一の他の回避策は、すべての接続を受け入れ、リレー一部は別のサーバーに転送されます。たとえば、Gopher サーバーは一般的な「リバース プロキシ」を使用して HTTP 接続を受け入れ、リクエストを Cloudflare Pages に転送できますが、その方法では CF でサイトをホストする利点が完全に失われます。または、Cloudflare はポート 70/1965 の TCP 接続をサーバーにプロキシできますが、これは高価なエンタープライズ プランのみに含まれると思います。

関連情報