El tutorial o código que encontrarás en este post es la resolución más sencilla y efectiva que hallamos a esta duda o dilema.
Solución:
Eliminar default_type application/octet-stream;
. Estas líneas hacen que el navegador piense que se trata de datos binarios y no de HTML.
Como otros señalaron, esta es la línea que causa su problema:
default_type application/octet-stream;
Esta línea anula la línea anterior y le dice a Nginx que envíe cualquier respuesta como datos binarios genéricos. Y, dado que los navegadores no pueden hacer nada específico con los datos binarios, simplemente los descargan como un archivo.
Eliminando o comentando esa línea, así como la línea de arriba:
#include /etc/nginx/mime.types;
#default_type application/octet-stream;
debería funcionar, ya que el comportamiento predeterminado de Nginx es enviar todo como text/plain
y los navegadores son lo suficientemente inteligentes para manejar HTML/CSS/JS de esta manera.
A pesar de eso, no recomendaría esa solución, ya que es posible que necesite servir diferentes tipos de contenido desde su servidor, es decir, imágenes, mp3, archivos binarios, etc.
Aquí hay una mejor solución:
Primero, revisa ese archivo /etc/nginx/mime.types;
realmente existe y es accesible para leer para el usuario que ejecuta nginx.
Luego, verifique que el archivo realmente contenga types ...
declaraciones. Ese archivo viene empaquetado con Nginx y contiene valores predeterminados sensibles para los tipos MIME y la asignación de extensiones de nombre de archivo. Si algo está mal con el archivo, puede copiar y pegar su contenido desde esta esencia:
https://gist.github.com/KondorB/dd34feba1d63bd468ded4ee70e59ea07
Y finalmente, en nginx.conf
cambiar
default_type application/octet-stream;
para
default_type text/html;
Ahora Nginx servirá cada tipo de contenido en función de las extensiones de nombre de archivo. Y si no se proporciona ninguno, como es el caso de algunos sistemas/aplicaciones de back-end, intentará servir HTML.
Tenga en cuenta que es posible que desee cambiar algunos de esos valores predeterminados. Por ejemplo, con esa configuración:
types
audio/mpeg mp3;
los navegadores generalmente intentarán reproducir la canción en lugar de descargarla directamente. Que se puede cambiar, si es necesario, declarando:
types
application/octet-stream mp3;
Puntuaciones y reseñas
Te invitamos a añadir valor a nuestro contenido cooperando tu experiencia en las críticas.