Estaba probando una REST Api que sube un archivo de imagen al servidor.
La imagen era demasiado grande y excedía el tamaño máximo del cuerpo de la solicitud, por lo que Nginx la rechazó y devolvió la respuesta 413 (Entidad de solicitud demasiado grande).
Nginx: error.registro
*329 cliente destinado a enviar un cuerpo demasiado grande: 1432249 bytes, cliente: xx.xx.xx.xx, servidor: api.example.com, solicitud: "POST /images HTTP/1.1", host: "api.example.com ", referente: " https://example.com/posts/create "
Sin embargo, descubrí que la consola Firefox/Chrome decía:
cromo: consola
El acceso a XMLHttpRequest en ' https://api.example.com/images ' desde el origen ' https://example.com ' ha sido bloqueado por la política de CORS: no hay ningún encabezado 'Access-Control-Allow-Origin' en el recurso solicitado.
¿Hay alguna conexión entre CORS y el error 413? ¿De dónde viene este mensaje y por qué?
El problema en este caso es que la respuesta de error no tenía un Access-Control-Allow-Origin apropiado, por lo que la aplicación solicitante no tenía permisos para verla. Es decir, incluso los mensajes de error están sujetos a la política de origen cruzado.
Este problema no está relacionado con CORS. Si corrige el error 413, el error CORS también se corregirá por sí solo. Debe verificar por qué se produce el error 413. El tamaño de carga de la imagen es más. Puede usar el código a continuación para corregir el mismo código Agregar a continuación en el archivo de inicio:
.UseStartup<Startup>() .UseKestrel(options => { options.Limits.MaxRequestBodySize = long.MaxValue; });Si aún no se soluciona, debe verificar el tamaño de imagen predeterminado en el repositorio del servidor. Suele ser por defecto 1mb. Puede aumentar client_max_body_size. Esto solucionará tu problema.