Tengo un sitio al que agregué las etiquetas \u003cmeta\u003e de OpenGraph requeridas, pero no muestra ninguna vista previa de Onebox. Pasa la validación de OpenGraph, así que dudo que sea un problema de marcado.
(No puedo publicar un enlace al validador, porque soy un usuario nuevo)
Puedo observar en el lado del servidor que efectivamente está sirviendo páginas al robot de Discourse:
User-Agent: 'Discourse Forum Onebox v3.3.0.beta1-dev'
IP Address: 2602:fd3f:3:204:0:242:ac11:2d
pero los enlaces simplemente no aparecen:
Consideré que el problema podría deberse a que devolvemos 505 HTTP Version Not Supported para las solicitudes HEAD, basándome en este hilo. Así que parcheé nuestro servidor para que devuelva una respuesta perfunctory 200 OK para el método HEAD:
¿Puedes verificar si tu servidor no está bloqueando las solicitudes? Por lo que veo, obtengo 400 como código de error (cuando miro la respuesta de Discourse fetch).
Entiendo, he reconfigurado el sitio para tratar las solicitudes HEAD de forma idéntica a las solicitudes GET.
El sitio tiene una política de seguridad que devolverá 400 a menos que el cliente envíe una cadena de agente de usuario que comience con la cadena \"Discourse Forum Onebox\" y una cabecera Accept-Language: *. Puedo pasar el filtro usando curl con la siguiente configuración:
$ curl -v -I --http1.1 \
-A 'Discourse Forum Onebox v3.3.0.beta1-dev' \
-H 'Accept-Language: *' \
https://swiftinit.org -o /dev/null