Registro · 9 de agosto de 2026
Dominios que sirven el mismo origen
Ciento tres dominios repartidos en 89 archivos de Caddy. Veintidós de ellos,
en nueve grupos, sirven exactamente el mismo origen que otro dominio. Uno de cada cinco.
Acá va cuál debería ser el canónico de cada grupo, con qué evidencia, y qué hacer con el resto.
103dominios servidos
22comparten origen
9grupos
5decididos con evidencia
4falta decidir
Qué cuenta como alias acá. Dos dominios comparten origen cuando su
manejador de raíz apunta a la misma carpeta o al mismo puerto. El manejador de raíz es
el handle sin filtro de ruta, o el root * que queda al final. Un
backend colgado de una ruta, como /api/*, no cuenta: eso es una aplicación
llamando a un servicio, y es lo normal. La distinción no es cosmética. Si se cuenta cualquier
puerto repetido, salen alias que no existen, y alguien termina poniendo un 301 sobre una API
que estaba bien.
Qué queda fuera de los 22, a propósito. Los nombres que van en la
misma lista de direcciones de un bloque no cuentan. www.innovacionsantiago.cl
comparte origen con innovacionsantiago.cl, claro, pero por construcción: hay una
sola configuración, así que no hay dos copias que puedan derivar ni canónico que discutir. Por
eso en los 22 no aparece ningún www. Lo mismo con
www.firmasydocumentos.cl y www.usaia.cl. Son la forma buena de tener
dos nombres, y por eso están en la sección 6 y no en la lista de pendientes.
1 · el método
Cómo se midió
Lectura completa de los bloques de Caddy, más un sondeo de solo lectura
para confirmar lo que la configuración sugería.
- El universo. El
Caddyfile importa
/etc/caddy/sites.d/*.caddy. Son 89 archivos vivos, con 99 bloques de sitio y
103 dominios. Todo lo que termina en .bak, .disabled o
.retirado queda fuera de ese glob y por lo tanto fuera de esta cuenta.
- El origen de cada dominio. De cada bloque se extrajo el manejador de raíz y, por
separado, los backends colgados de rutas. Los dos se anotan, pero solo el primero agrupa.
- La confirmación. Para cada grupo candidato se pidió la portada por HTTPS y se
comparó el código de respuesta y el tamaño. Dos respuestas del mismo tamaño exacto desde
dos dominios distintos son la prueba de que el origen es el mismo. Solo lecturas: ningún
archivo de Caddy se tocó.
Los tamaños que aparecen más abajo salen de ese sondeo del 9 de agosto. Son
dato medido, no estimación.
2 · antes de seguir
Corrección al hallazgo previo
El encargo traía cuatro casos confirmados. Al medirlos, dos se sostienen
tal cual, uno estaba subcontado y uno estaba mal leído. Va acá arriba y no escondido en una
nota al pie, porque un registro que hereda en silencio el error de su encargo vale menos que
uno que muestra la medición.
El par real de esa vecindad es otro.
mapas.cochid.cl y trenes.cochid.cl sí comparten origen: los dos
llevan reverse_proxy 127.0.0.1:8212 como manejador de raíz. Va como grupo 8.
3 · con evidencia suficiente
Cinco grupos que la evidencia decide
En estos cinco hay un hecho medido que zanja cuál es el canónico. No hacen
falta más datos para actuar.
canónico
alias con función propia
alias redundante
falta decidir
retirar
Grupo 1
/srv/projects/cis/cis-www/dist-staging
2 dominios
Evidencia. Los dos responden 200 con 1.466 bytes idénticos y los
dos llevan X-Robots-Tag: noindex. Las dos configuraciones ya divergieron:
cis. agrega X-Frame-Options DENY, la cabecera
X-CIS-Stage y un 404 sobre /security/*. nuevo. no
tiene ninguna de las tres.
acción Retirar con 410 y
puntero, no con 301. Es una URL de borrador marcada noindex: no hay enlace
público ni URL impresa que preservar. El grupo ya retiró así
admin.circulodesantiago.cl.
Grupo 2
127.0.0.1:8252 · cis-verify
4 dominios
Evidencia. Los cuatro bloques mandan todo a
127.0.0.1:8252. La diferencia entre ellos son tres reglas de ruta, y dos de
las tres existen para acortar una URL que va impresa en un documento.
acción 301 permanente de
docs.innovacionsantiago.cl al canónico. Nunca 410: un host que va impreso en
un papel se redirige, no se apaga, y se redirige para siempre.
boleta y factura se quedan, porque la ruta corta es su razón de
existir.
antes de aplicar El pie canónico
del grupo, en sistema/pie.html, enlaza
docs.innovacionsantiago.cl en la columna Navegación. Ese enlace hay que
moverlo en el mismo cambio, o el 301 queda disparándose desde el pie de todas las
páginas del grupo.
Grupo 3
/srv/projects/cis/cis-style/dist
3 dominios
Evidencia de equivalencia.
cis-style/public/v7 es un enlace simbólico a ../dist/v7, y
/v4, /v5 y /v6 están rooteadas en
dist en los tres hosts. O sea, toda ruta de versión resuelve al mismo
archivo en los tres. El sondeo lo confirma: 404 en la portada de
style.circulodesantiago.cl, 200 con 11.955 bytes en la de
style.cochid.cl.
acción 301 de los dos hacia
style.innovacionsantiago.cl{uri}. En style.cochid.cl hay que
poner antes una regla que mande / a
/v6/brands/cochid/style-guide.html, o esa portada de marca se pierde en el
cambio.
Grupo 4
/srv/retirado/libro
2 dominios
Evidencia. Los dos responden 200 con 1.814 bytes idénticos. Un
sitio dado de baja que sigue devolviendo 200 le miente al que llega y a los buscadores, y
le deja la duda viva al próximo que audite.
acción 410 con puntero en los
dos, con el mismo texto que ya usa admin.circulodesantiago.cl.
mismo defecto, fuera de grupo
mundial.illanes00.cl sirve /srv/retirado/mundial y también
responde 200. No forma grupo porque es un solo dominio, pero es la misma falla y conviene
arreglarla en el mismo pase.
Grupo 5
/srv/projects/cis/projects/indieweb/frontend
2 dominios
Evidencia. No es solo que sea igual: es que es peor.
indieweb.cl manda /app/* a apps.indieweb.cl y
/legal/* a innovacionsantiago.cl. mkt. no hace
ninguna de las dos, así que sirve el mismo sitio con dos secciones muertas.
acción 301 a
indieweb.cl{uri}. Si mkt existía para atribuir campañas, eso se
resuelve con un parámetro en la URL y se mira en el log. No necesita un origen aparte, y
el origen aparte fue justamente lo que dejó las dos secciones rotas.
4 · sin evidencia para zanjar
Cuatro grupos donde falta decidir
Acá el hecho está medido pero la intención no está escrita en ninguna
parte. Poner un canónico inventado sería peor que dejar la fila abierta: alguien lo aplicaría
creyendo que hubo una decisión.
Grupo 6
127.0.0.1:8296 · vpn
3 dominios
Ya derivó. El bloque de CIS maneja
/static/proxy-sw.js con la cabecera
Service-Worker-Allowed: /. El bloque de illanes00.cl no lo
tiene. Es una copia que se quedó atrás, y es exactamente el costo de tener dos bloques
para una aplicación.
falta decidir No se pueden fusionar en una
lista de direcciones, porque las dos zonas usan tokens de Cloudflare distintos. Entonces
la pregunta de verdad es si el acceso por la zona personal se quiere o no. Si se quiere,
hay que sincronizar los dos bloques y dejar anotado que van juntos. Si no, 301 al
canónico. Lo que no puede seguir es la copia derivando sola.
Grupo 7
/srv/projects/cis/cis-admin/dist
2 dominios
La asimetría, medida. wiki importa
auth-outpost-passthrough, que solo deja pasar las rutas del outpost y
no gatea nada. Está leído en
/etc/caddy/snippets/auth-forward.caddy: el que gatea es
auth-forward-only, y wiki no lo importa en ninguna parte.
admin sí lo importa, en la API y en el manejador de raíz.
Lectura calibrada, sin exagerar. La aplicación se defiende sola:
su API responde 401 sin sesión. No hay fuga verificada. Lo que falta es la capa de
afuera. En admin un desconocido nunca llega a tocar la aplicación. En
wiki sí llega, y todo queda apoyado en que la aplicación no se equivoque
nunca. Es una diferencia de defensa en profundidad, no un incidente.
falta decidir La asimetría se cierra por
cualquiera de los dos lados. O wiki pasa a ser una ruta de
admin con un 301, o wiki importa el mismo
auth-forward-only. Cuál de las dos depende de para qué existe
wiki, y eso no está escrito en ninguna parte de la configuración.
Grupo 8
127.0.0.1:8212 · atlas de mapas
2 dominios
Evidencia. Los dos bloques terminan en
reverse_proxy 127.0.0.1:8212. El sondeo da 200 en los dos con tamaños
distintos, y eso no contradice nada: son dos vistas de la misma aplicación, porque
trenes entra por una ruta interior.
falta decidir Este es el mismo patrón de
boleta y factura, o sea una entrada de cortesía legítima. La
configuración no dice si trenes se pensó como puerta pública de la capa
ferroviaria o si fue comodidad de un rato. Si es puerta pública, se queda y se anota como
tal. Si fue comodidad, 301 a mapas.cochid.cl/red-ferroviaria.
Grupo 9
127.0.0.1:8320 · prosa
2 dominios, más uno que ya redirige
Por qué el canónico de hoy es sospechoso. Prosa es una herramienta
transversal: vive en /srv/projects/core/prosa, o sea en lo que comparten las
tres entidades, y su linter corre como hook en todos los repositorios. Hoy cuelga del
subdominio de un proyecto de medicamentos. prosa.cochid.cl es más
corto, está en la zona correcta y ya existe, pero hoy apunta hacia el nombre largo en vez
de al revés.
falta decidir Elegir entre
prosa.cochid.cl y prosa.medicamentos.cochid.cl, y dar vuelta el
308 si gana el corto. prosa.illanes00.cl es alias en cualquiera de los dos
casos, así que ese 301 se puede aplicar sin esperar la decisión del nombre.
5 · falsos positivos
Puertos repetidos que no son alias
Esta sección existe para que nadie ponga un 301 sobre una API que estaba
bien. En todos estos casos el puerto se repite, pero colgando de una ruta y no en el
manejador de raíz. Es una aplicación llamando a un servicio.
El 9091 no es un origen. Es el outpost de Authentik, o sea el que autentica.
Lo tocan 32 bloques, entre los que lo nombran literal y los que lo importan por atajo.
Si contara como origen compartido, esos 32 bloques saldrían como un solo grupo gigante y el
registro entero no serviría para nada. No cuenta, nunca.
6 · precedente
El patrón de la casa
No hay que inventar política. El grupo ya resolvió esto mismo antes, de tres
maneras distintas: diez nombres redirigidos o retirados, más cuatro que nunca llegaron a ser
un problema porque comparten bloque. Las recomendaciones de arriba salen de copiar la manera
que corresponde, no de una preferencia.
La regla que sale de todo esto. Nunca dos bloques sirviendo lo mismo. Los
cuatro casos de deriva medidos en esta página empezaron todos como una copia fiel:
cis. y nuevo. ya no comparten cabeceras,
vpn.illanes00.cl perdió el manejador del service worker,
style.circulodesantiago.cl quedó con la portada en 404 y
mkt.indieweb.cl sirve dos secciones muertas. Ninguna de las cuatro se rompió el
día que se copió. Se rompieron después, cuando alguien arregló una sola de las dos copias.
7 · para ejecutar
Resumen de acciones
Los 22 dominios, con lo que corresponde hacer con cada uno. Las filas sin
acción son las canónicas y las que cumplen una función propia.
Fuera de los 22, mismo defecto.
mundial.illanes00.cl responde 200 desde /srv/retirado/mundial. No
comparte origen con nadie, así que no arma grupo, pero conviene retirarlo con 410 en el mismo
pase que los dos libro.
Nada de esta página se aplicó. Es un registro de lo que hay y una propuesta
de qué hacer. Los archivos de Caddy se leyeron y no se tocaron. Lo que se decida se anota en
Registro, y la clasificación de cada dominio del grupo está en
La estructura.