Archivo de carga de Spring Boot 404

El servidor está usando Nginx. En
Inserte la descripción de la imagen aquí
este caso, es posible usar image.gshop.com para obtener el archivo.

Solución:

server{
		listen 80;
		server_name api.gshop.com;
		
		proxy_set_header X-Forworded-Host $host;
		proxy_set_header X-Forworded-Server $host;
		proxy_set_header X-Forworded-For $proxy_add_x_forwarded_for;
		
		location /api/upload {
			proxy_pass http://127.0.0.1:8084;
			proxy_connect_timeout 600;
			proxy_read_timeout 600;
			
			rewrite:"^/api/(.*)" /$1 break;
		}
		
		location / {
			proxy_pass http://127.0.0.1:8082;
			proxy_connect_timeout 600;
			proxy_read_timeout 600;
		}
	}
	server{
		listen 80;
		server_name image.gshop.com;
		
		proxy_set_header X-Forworded-Host $host;
		proxy_set_header X-Forworded-Server $host;
		proxy_set_header X-Forworded-For $proxy_add_x_forwarded_for;
		
		location / {
			root G:\\gshop\\image;
		}
	}
  • Primero, la ruta de mapeo /api/uploady la siguiente ruta de mapeo es /, de acuerdo con el principio de coincidencia de ruta más larga, / api / upload tiene una prioridad más alta. En otras palabras, cualquier ruta que comience con / api / upload será procesada por la primera configuración.
  • proxy_pass: Proxy inverso, esta vez usamos el proxy al puerto 8084, que es el servicio de servicio de carga.
  • rewrite: Ruta de reescritura :
    • "^ / api /(.*)$" : la expresión regular que coincide con la ruta, utiliza la sintaxis de agrupación y trata /api/todas las partes posteriores como un grupo
    • / $ 1 : La ruta de destino reescrita. Aquí, $ 1 se usa para hacer referencia al grupo que coincide con la expresión regular anterior (el número de grupo comienza desde 1), /api/es decir, todo lo siguiente. De esta manera, la nueva ruta es eliminar /api/todo excepto con /apiel propósito de eliminar el prefijo.
    • descanso : instrucción, hay 2 instrucciones de uso común, a saber: último, descanso
      • último : una vez finalizada la ruta de reescritura, la ruta obtenida se volverá a hacer coincidir
      • break : después de reescribir la ruta, la ruta no se volverá a hacer coincidir.
        No puede elegir el último aquí, de lo contrario, se utilizará la nueva ruta ** / upload / image ** para hacer coincidir.
    • No coincidirá correctamente con el puerto 8082

Una vez completada la modificación, ingrese el nginx -s reloadcomando para volver a cargar la configuración. Luego intente cargar de nuevo.
Inserte la descripción de la imagen aquíUna vez completada la modificación: aparece un código de estado de error en el archivo cargado 400. 400 (Solicitud incorrecta) El servidor no comprende la sintaxis de la solicitud. Significa que no se encontró el tipo de archivo correspondiente.

 private static final List<String> CONTENT_TYPE = Arrays.asList("image/jpeg", "image/png", "image/gif");

Supongo que te gusta

Origin blog.csdn.net/weixin_42789301/article/details/105662215
Recomendado
Clasificación