Tengo un sitio donde los archivos mp4 devuelven 404.
Tienen authorized_extensions configurado en *. La carga del archivo funciona bien. Lo veo en el sistema de archivos. Los permisos son correctos. file dice que es un archivo MP4. El registro en rails parece estar bien:
pero acceder a él devuelve un 404. Hubo un par de nuevas funciones y correcciones de errores para mp4 recientemente, pero acabo de ejecutar una actualización y todavía no funciona. No sé dónde más buscar.
El problema es que la configuración de nginx solo permite ciertos tipos de archivo. Moviendo esto a error.
En discourse.conf está esta sección:
# esto nos permite saltarnos rails
location ~* \.(gif|png|jpg|jpeg|bmp|tif|tiff|ico|webp)$ {
add_header Access-Control-Allow-Origin *;
try_files $uri =404;
}
Añadí mp3 y mp4 a los tipos de archivo (después de webp y los mp4 ahora funcionan) a discourse.conf dentro del contenedor. Veo “saltarse rails” en discourse_dockerconfig/nginx.sample.conf. No veo cómo entra en la plantilla dentro de docker, así que no sé cómo averiguar cuándo sucedió esto.
Tienen * para los tipos de archivo permitidos. No sé si hay alguna magia que permitiría que los mp3/mp4 funcionaran si se enumeraran en la configuración del sitio, pero no veo cómo podría ser.
Oh… las extensiones autorizadas son solo para la autorización de subida, no para descargas (es decir, que una extensión no esté en esa lista no debería impedir que un archivo se descargue).
No puedo reproducir esto en las últimas pruebas superadas, así que podrías moverlo de nuevo a Support
EDIT: Busqué el sitio en Google y parece que tienes otros problemas.
Todavía no entiendo ese mensaje del Service Worker, pero desactivé \t\nprevent_anons_from_downloading_files y ahora funciona. ¿Parece que la configuración “prevent_anons” es incompatible con CDN?
Y creo que estás mirando https://www.turiver.com/t/argentina-la-sociedad-perdida/117158/8017 que se está cargando desde la CDN cuando lo miro, pero conectado y desconectado.