由于这个二级站自己是与主站的帐号系统联动的,我又想作个其余的系统,整个后台数据是通用的,因此在考虑把以前的Server部分直接抽成api工程,对外提供接口。nginx
规划了良久,发现“talk is cheap, show me the code”才是真理。空规划的时候会出现不少胡思乱想,只有真正编码,才会一点点去解决。bootstrap
首先是物理分离,整个Server部分被直接拿到一个新工程里,依赖包干掉了前台表现的bower部分和bootstrap。跑一下,成功。segmentfault
而后是二级域名配置,简直艰辛。首先配置nginx,以后怎么解析都不对。和几个朋友讨论了一下,朋友说应该先在DNS那边解析,然而我记得阿里云那边不能解到端口啊。以后跑去配置页面,仔细读了一下说明。api
二级域名 :
如:mail.example.com或abc.example.com,填写mail或abc;跨域
能够配置啊!因而新增DNS解析。让朋友测一下,成功。session
以后就是实际动代码了。post
我仍是沿用以前工程的想法,用request把工程的/api请求转发到新port,然而遇到了诸多问题:测试
request转发若是不区分method,那么pip的时候会undefined。阿里云
区分了post以后,在res.pip(res2)时,往前传的data是空的。固然res2是有值的。可是考虑到session维持,那么就要对headers进行传递,不能只传递res2.text或者body。编码
通过查找,果断放弃……替换了技术方案为CORS,在api工程里支持跨域和credentials调用,成功!
不过一测试就会发现问题:session没法维持。
参考了https://segmentfault.com/q/10... 这个答案后,获得了解决方案,NG在调用时增长withCredentials参数。其实在StackOverFlow里有一个答案也说过,可是我总以为NG应该自带了,仍是太想固然了。
如此一来,第一波就改完了。
接下来,首先是NG要在service里加一个封装,让个人请求自动携带这个配置。
其次是数据存储。我上传的图片都会放到Server的根目录,可否把img.site.com也变成数据存储方式呢……?
未完待续。