El proyecto Vue se ejecuta normalmente localmente, pero después de empaquetar y cargar en el servidor, el problema de la dirección de solicitud 404

Problema resuelto: cambie
la configuración en nginx para agregar una barra adicional.proxy_pass http://127.0.0.1:8080;proxy_pass http://127.0.0.1:8080/;

Análisis del problema:
después de empaquetar el proyecto Vue, se produce un error 404 cuando la solicitud de la interfaz no llega al backend. Esto se debe a que la configuración del proxy proxyTable falla después de empaquetar el proyecto Vue.
Dado que el proxy falla después de empaquetar el proyecto Vue, es necesario usar Nginx para realizar una solicitud de proxy inverso, pero aún se produce un error 404. Al configurar el proxy inverso proxy_pass en nginx, cuando se agrega "/" a la siguiente URL, que es equivalente a una ruta raíz absoluta, nginx no representará la parte de la ruta coincidente en la ubicación; si no hay "/", dará la parte de la ruta coincidente con el proxy también.

Por ejemplo: la interfaz de acceso es /api/menu/getMenuList
Cuando la URL detrás del archivo de configuración nginx proxy_pass contiene "/", la ruta desde el proxy hasta el backend es http://127.0.0.1:8080/menu/getMenuList, omitiendo la coincidencia con la ruta /api/;

location /api/ {
    
     
  proxy_pass   http://127.0.0.1:8080/;
}

Cuando la URL detrás del archivo de configuración de nginx proxy_pass no contiene "/", la ruta del proxy al backend es: http://127.0.0.1:8080/api/menu/getMenuList, que se transmite junto con el /api/ coincidente camino;

location /api/ {
    
     
  proxy_pass   http://127.0.0.1:8080;
}

Artículo de estudio de referencia: https://blog.csdn.net/qq_42784165/article/details/110297059

Supongo que te gusta

Origin blog.csdn.net/qq_41160739/article/details/124328905
Recomendado
Clasificación