一般的后台系统关系一般比较复杂,需要集成的内容特别多.有些事情适合在开发阶段搞定,有些事情应该要在部署的时候搞定.
关于跨域
在后台应用的开发过程中,我们经常会遇到跨域问题,通常的解决方式是,使用各种后台和前端技术,来避免跨域问题.
而本质上来看,跨域问题是一个非常典型的部署问题,完全没必要使用开发的手段来解决.
下图是常见的部署示例,推荐使用contextPath来进行反向代理以后,进行转发.
提示
- 所有的请求都被转发以后,从浏览器角度看,就是后台的一个web服务,这个服务内使用多少个进程来部署,浏览器完全不知道,也不需要知道.所以,前端的集成压根不用考虑怎么跨域,正常打开一个请求就结束了...
- 使用反向代理的好处是,所有的机器都是用同样的域名和端口,可以共享cookie了
- 通过反向代理方式进行部署的时候,不能使用request.getRemoteAddr()获得真实的访问ip了,需要额外的开发支持
- 这种部署方式,对于SSO来说,也提高了便利性,因为可以通过域名传递cookie了
2021/10/28大约 2 分钟
