Red de conocimiento informático - Aprendizaje de programación - Problemas entre dominios cuando Nginx implementa proyectos front-end y back-end

Problemas entre dominios cuando Nginx implementa proyectos front-end y back-end

Recientemente, cuando estaba preparando un proyecto pequeño, usé Tomcat para implementar el proyecto SpringBoot de back-end y luego usé Nginx para implementar la interfaz de front-end y reenviar la solicitud de back-end al tomcat correspondiente. cluster, ocurrió un problema entre dominios. El proceso de solución. Estoy tan emocionado que quiero registrarlo aquí.

Método 1 de configuración entre dominios de Nginx

Estrictamente hablando, este método no se considera una solicitud entre dominios, porque esta configuración requiere que la URL solicitada por el backend sea /mk Formato -shop -api/xxxx, lo que significa que la dirección de solicitud del proyecto front-end debe cambiarse para que sea la misma que la dirección URL al acceder a la página del cliente, para que parezca que no hay problemas entre dominios. Si las direcciones de solicitud de diferentes módulos del proyecto front-end son diferentes, es necesario cambiarlas todas.

Método 2 de configuración entre dominios de Nginx

Nota: api.mk-shop.com es el prefijo de solicitud de la API de back-end, que es la dirección de solicitud cuando el cliente carga En nuestro caso, tome la dirección de solicitud de backend del proyecto como ejemplo:

Cuando el backend de SpringBoot maneja el procesamiento entre dominios, puede configurar filtros para lograr esto

Nota: Durante el uso, las nuevas versiones de springboot pueden informar errores. No está permitido incluir * en setAllowedOrigins. En este caso, se debe utilizar setAllowedOriginPatterns.