
Tengo mi blog en el dominio palashbauri.in
, que es un sitio estático de Hugo alojado en Cloudflare Pages. El DNS es administrado por Cloudflare. Actualmente mi dominio palashbauri.in
tiene un registro CNAME que apunta al blog.
Entonces, mi blog está disponible en los puertos 80 y 443 con http(s). Si es posible, ¿cómo debo configurar mi registro DNS para que el protocolo gemini y gopher sea accesible en el mismo dominio, como por ejemplo?
gemini://palashbauri.in
, gopher://palashbauri.in
?
Lo sé, puedo hacerlo funcionar usando subdominios como gemini://gemini.palashbauri.in
o gopher://gopher.palashbauri.in
, pero sería bueno hacerlo accesible sin usar subdominios.
Breve introducción al protocolo Gemini: protocolo de servidor TCP que se ejecuta en el puerto 1965.
El protocolo Gopher se ejecuta en el puerto 70.
Respuesta1
Si es posible, ¿cómo debo configurar mi registro DNS para que el protocolo gemini y gopher sea accesible en el mismo dominio, como por ejemplo?
Eso sólo es posible sitodoLos protocolos están alojados en el mismo sistema. Es decir, debe sacar su servicio HTTP de Cloudflare y comenzar a alojarlo en la misma máquina que Gemini/Gopher. (Es decir, no puedes usar Cloudflare PagesniCDN del proxy de Cloudflare). Cuando esté hecho, no necesitará hacer nada adicional con el DNS.
Cuando simplemente realiza una consulta regular de registros A/AAAA, DNSno lo sabequé protocolo usarás con eso. Lo único que sabe es el nombre de dominio y el tipo de registro que se solicita, por lo queno puedoredirija algunas aplicaciones al servidor de Cloudflare Pages y otras aplicaciones a su servidor Gopher/Gemini si todas solicitan exactamente el mismo nombre.
Hayalgunoprotocolos que hacen que el cliente haga deliberadamente una consulta DNS específica del protocolo primero; por ejemplo, los servidores de correo electrónico buscarán registros MX antes de A/AAAA, y Minecraft buscará registros SRV antes _minecraft._tcp.<domain>
de buscar A/AAAA en el dominio mismo. y eso permite que el servidor de correo o el servidor de juegos se aloje en una máquina completamente diferente a todo lo demás en el dominio.
Pero para la mayoría de los protocolos que no tienen tales disposiciones, la única forma de distinguir las solicitudes DNS realizadas por clientes Gemini de las solicitudes realizadas por clientes HTTP es utilizar subdominios diferentes para ellas. (Es por eso que los subdominios como ftp
y www
se usaban con tanta frecuencia en primer lugar).
La única otra solución es tener un servidor que acepte todas las conexiones yrelevosalgunos de ellos a otro servidor. Por ejemplo, su servidor Gopher podría aceptar conexiones HTTP utilizando un "proxy inverso" común y reenviar las solicitudes a Cloudflare Pages, aunque perderá por completo las ventajas de alojar el sitio en CF de esa manera. Alternativamente, Cloudflare podría enviar conexiones TCP en los puertos 70/1965 a su servidor, pero creo que eso es solo parte de sus costosos planes empresariales.