Estoy tratando de optimizar el servicio de mis paquetes estáticos generados desde mi aplicación React Webpack. En este proceso, noté que para los mismos archivos, cuando se entregaba el contenido a través de un servidor Express, los tamaños de los archivos eran comparativamente más bajos que cuando se entregaban a través de nginx.
Aquí está mi código express para servir el paquete:
app.use(express.static(project.paths.dist()));Aquí está mi configuración nginx:
server { listen 80; root /home/test/dist/; index index.html index.htm app.js; server_name www.ranodom.com; location / { try_files $uri /index.html; } error_log /var/log/nginx/test/website-error_log error; access_log /var/log/nginx/test/website-access_log; }Cuando se sirve a través de express:
Cuando se sirve a través de nginx: 
Como se ve en las capturas de pantalla anteriores, los tamaños de archivo difieren drásticamente. Los tamaños de archivo reales presentes en la carpeta son iguales a los que se sirven desde el servidor Nginx.
Mi pregunta es, ¿a qué puede deberse esta diferencia? ¿Express static optimiza/comprime los archivos servidos o hay una trampa? Si hay tanta diferencia, ¿sería mejor servir estos archivos a través de un servidor expreso y enrutarlos a la página de índice a través de nginx?
PD. Los archivos anteriores ya están mejorados y minimizados usando webpack.
Acabo de darme cuenta de que el middleware de compresión estaba habilitado en mi servidor express y, por lo tanto, la reducción de tamaño.
Si alguien más se tropieza con esta publicación, tenga en cuenta que puede obtener resultados similares usando nginx usando las configuraciones mencionadas a continuación.
gzip on; gzip_min_length 1000; gzip_types text/html text/css application/javascript text/javascript text/plain text/xml application/json;