通过nginx实现前后端分离开发联调
前后端分离开发联调的session问题
对于session 这个词,相信做web开发的程序猿们都不会陌生,浏览器要与服务器进行交互就必须建立一个session。用户登录系统后,我们常常会把一些初始化信息和用户信息放在session,给后续的网络请求提供必要的信息。比如说,我们现在要获取某个用户的订单信息,最简单的方式是将用户的用户名以参数的形式传到后台服务器,服务器根据用户名查询该用户的订单信息并返回的前端,这种做法将用户信息暴露的太显眼,很容易被别有用心的人利用,比起这种做法更安全的方式是将用户信息放在session里,前端只请求响应的接口,服务器根据当前session确定目前登录的用户,然后查询相关信息返回给前端。
对于以前后端分离的方式进行开发的web项目,以 vue + springboot 的开发模式为例。开发的时候,vue工程需要起动一个server用于vue的开发调试,springboot工程需要启动一个server用于跑我们的后台程序,前端请求由vue工程的server发起,由于两个server拥有不同的端口号,这势必导致请求是跨域的,如果只是单单在服务端开启跨域请求权限,也不能满足我们之前说的在session中获取相关信息的功能,因为开启跨域访问只是放开了访问的大门,但是多次请求并不在同一个session里。
为了方便前后端分离开发的联调,我们可以利用nginx的反向代理,实现session的统一,也不需要专门开启跨域访问用于开发调试了。
如何使用nginx实现前后端分离开发调试
对于让请求的session统一其实很简单,