1.为婶喵 要搭建测试服务器
因为公司目前开发+测试的整体流程不太完善,加之很多小项目的用户量比较小,我很多小项目的开发与测试,都是令人发指的直接在正式服务器上进行的==
没上线之前还好了,随意修改覆盖也没有人知道,但一旦上线后出了任何bug,都是一顿盲改,然后颤抖着双手把不知道究竟是hotfix还是hotbug push上去。。。
2.为婶喵 要用Nginx做反向代理
经过了几次消化不良与血液倒流,我决定还是力所能及的做点有益于测试的事情。前后端分离式开发,接口和静态资源一般是在两台电脑上的,那么前端小伙伴进行接口测试就会遇到跨域访问被拒绝的问题。jsonp是一种解决方案,然而需要后端小伙伴的配合,正式上线还需要改回来,否则不安全,这么麻烦其他小伙伴的事情,自立自强的我是不会做的、哦豁~
经过对比,觉得用公司一个闲置的主机做服务器,安装nginx,做服务器代理转发请求是一个最简单解决跨域问题的方案啦~
3.唆干就干~
和另一个前端的小哥共同努力下,为闲置服务器安装了centos7系统,安装了nginx,编写了nginx.config配置,配置文档没有仔细研究,主要用了proxy_pass功能
- 静态资源(前端代码)放 /usr/local/nginx/html/yourDir (可以自己配置,我这里就放默认访问路径了)
- Nginx的配置文件默认路径/usr/local/nginx/conf/nginx.config
//主要配置
...
4.原理总结
这样测试时,只要将修改的静态文件push到测试服务器的html文件夹下,api请求的host缺省就好了(或者写测试服务器的IP),大家同在一个服务器上自然就不会跨域了,测试服务器因为前面配置了Nginx代理转发,会将请求host替换为你配置的URL(服务器间不存在同源策略,域名不同也可以请求到数据)。