Tengo enlaces de example.com. ¿De dónde vienen?

Hola,

He migrado una instancia de Discourse de un servidor a otro, pasando de una configuración multisitio a un servidor único con un solo contenedor, utilizando la exportación/importación de copias de seguridad. Sin embargo, algunos enlaces aún utilizan www.example.com en lugar del host correcto.

¿Cómo puedo solucionar esto?

He configurado DISCOURSE_HOST con el nombre del host, pero parece que no soluciona el problema. ¿Existe alguna consulta SQL que pueda usar para encontrar las ocurrencias de www.example.com?

¿Quizás reasignar como se describe en Cambiar el nombre de dominio o renombrar mi Discourse??

Mi mejor suposición es que, en algún momento, algo se configuró con ese nombre de host. Sin embargo, es difícil adivinar cómo pudo haber ocurrido.

Hola @hellekin

Puedes buscar rápidamente todas las configuraciones de tu sitio para la cadena “example” de la siguiente manera, desde la consola de Rails:

SiteSetting.where('value LIKE ?', "%example%")

Por ejemplo, en nuestra instancia de Discourse:

[1] pry(main)> SiteSetting.where('value LIKE ?', "%unix\.com%").count
=> 10

Si quieres verificar REDIS, intenta (asumiendo que tu contenedor de datos está en app), cámbialo según sea necesario:

docker exec -it app redis-cli

Luego, prueba algo como:

127.0.0.1:6379> KEYS *example*
(empty list or set)

Otro ejemplo:

127.0.0.1:6379> KEYS *unix*
1) "default:_CACHE:onebox__https://www.unix.com/man-page/linux/1/df/"
2) "ANON_CACHE_text/html,application/xhtml+xml,application/signed-exchange;v=b3,application/xml;q=0.9,*/*;q=0.8_https_community.unix.com/t/passing-variables-to-awk/150198|m=true|c=true|b=true|t=|ca=|l=_count"
3) "default:_CACHE:onebox__https://www.unix.com/aix/56317-timestamp-sh_history-using-ksh-shell.html"

Para ver rápidamente todas tus configuraciones globales, puedes ejecutar esto desde la consola de Rails, y todas las configuraciones globales serán visibles (estoy seguro de que hay una mejor manera de hacer esto…, pero esto es rápido y funciona bien):

[1] pry(main)> GlobalSetting.as_json

Espero que te ayude.

Siguiendo el enlace de @pfaffman, me di cuenta de que usé DISCOURSE_HOST en lugar de DISCOURSE_HOSTNAME.

Los útiles consejos de investigación de @neounix no dieron ningún resultado, así que espero que el primer problema haya llevado a la situación actual. Estoy reconstruyendo el contenedor para ver…

El contenedor se ha reconstruido y los enlaces muestran las imágenes que antes estaban rotas, así que supongo que está solucionado. ¡Gracias a ambos!

@pfaffman ¿Podrías, por favor, rebuild HTML en ActivityPub Support: Phase 1 RFC - #27 by hellekin para confirmar la corrección?

Sí, tiene todo el sentido ahora que he revisado el código. La configuración de Discourse establece el nombre de host predeterminado en "www.example.com" en el archivo de configuración, así que si hubo un error en el archivo de compilación (como describes, @hellekin), parece que obtendrás el valor predeterminado :slight_smile:

Quizás algún día alguien cambie ese valor predeterminado de configuración para que diga:

hostname = "www.falta-archivo-yml-verificacion-hostname.com"

:slight_smile: :slight_smile:

No tengo derechos de administrador aquí. Si quieres confirmar que los incrustados de tu sitio funcionan en otros sitios, puedes probarlo en try.discourse.org.

Supongo que hostname = "please.set.DISCOURSE_HOSTNAME.env.example" sería más explícito y conforme a la RFC.

Gracias, ya lo probé en otro lugar, solo quería que se actualizara este post :slight_smile:

Se ha pulsado el botón. ¡Parece que la imagen se está mostrando!