Estoy usando nginx como un servidor proxy para enviar las solicitudes a los miembros del grupo de back-end.
Tengo un encabezado -- Tipo de contenido: multipart/form-data; border="21ad608c-8e00-4c0c-8a06-5ed1280e9532" El valor límite en el encabezado cambia todo el tiempo.
¿Cómo puedo hacer una verificación de encabezado solo para "Content-Type: multipart/form-data"; valor y enrutar las solicitudes al backend. cuando hago una impresión de $http_content_type value, todo, incluido el valor límite, se imprime. No puedo hacer una verificación if solo en " Content-Type: multipart/form-data; " value .
¿Puedo poner un comodín en la configuración de nginx como -- "multipart/form-data; * " para pasar el bucle if?
Por favor hagamelo saber.
¿Un comodín de Nginx? Sí, más o menos, a través de una expresión regular:
if ($http_content_type !~ '^multipart/form-data;') deny-the-request
Esto significa que el tipo de contenido debe comenzar con multipart/form-data; . Después de eso, cualquier boundary=...whatever... está permitido.
Ejemplo completo:
location /-/upload-public-file { limit_except POST OPTIONS { deny all; } if ($http_content_type !~ '^multipart/form-data;') { return 406; # status code Not acceptable }