背景
跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的。
通常所说的跨域是狭义的,是由浏览器同源策略限制的一类请求场景。详细理论可以参考前端常见跨域解决方案这篇文章。
后端转发解决跨域
开发过程中经常能碰到这种场景,前端页面访问的是外部资源(跟前端应用部署的不是一台机器或者不是一个IP),此时常见的做法是通过 nginx 进行代理转发解决跨域。
代理转发要求被代理服务的域名(IP)固定,且具有统一前缀(最好),否则不但配置繁琐,还可能请求失败。
如果某个后端服务的请求路径不固定,则可以通过后端服务进行转发,这里以Java为例。
@GetMapping("/cros")
public void testCros(HttpServletResponse response