笔者在做前后端分离系统时,出现了很多坑,比如前后端的url域名相同,但是端口号不同.例如前端页面为:http://127.0.0.1/ , 后端api根路径为 http://127.0.0.1:8888 ,这样就导致跨域问题,前端设置的request header或者cookies后端接收不到,这是很蛋疼的问题.用nginx配置端口转发完美解决.首先在本机安装nginx,前端配置端口号为80 $ sudo nginx $ vim /usr/local/etc/nginx/nginx.conf 接…
通过JSONP实现跨域已是老生常谈,JSONP跨域限制多,最近了解了一下CORS. 参考: https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS http://newhtml.net/using-cors/ https://www.w3.org/TR/2013/PR-cors-20131205/ CORS是W3c的一个工作草案,定义了在跨域访问资源时浏览器和服务器应该如何沟通.CORS背后的基本思想是使用自定义…
介绍本文用的经典的前后端分离开源项目.项目的拉取这些在另一篇博客!!! 其中所需要的前后端打包本篇就不做操作了!!不明白的去看另一篇博客!!! 地址:http://www.cnblogs.com/psfjc/p/16268566.html 准备介绍就是这些,现在咋们着手开始部署 1.安装docker Docker 分为 CE 和 EE 两大版本.CE 即社区版(免费,支持周期 7 个月),EE 即企业版强调安全,付费使用,支持周期 24 个月. Docker CE 分为 `stable` `te…
目前软件架构都比较流行前后端分离,前后端的分离也实现了前后端架构的分离,带来的好处 —— 整个项目的开发权重往前移,实现真正的前后端解耦,动态资源和静态资源分离,提高了性能和扩展性. 通常SpringBoot与vue 进行前后端分离,主要有两种方式: 1.打包(npm run build命令)vue项目出来的dist文件夹拷贝到springboot项目的static文件目录,部署到tomcat即可. 2.利用nginx的反向代理. 本文主要讲解第二种 首先打包前端项目到指定目录:E:\fjgh\…
在我们进行前后端完全分离的时候,有一个问题一直是挺头疼的,那就是公共header和footer的引入.在传统利用后端渲染的情况下,我们可以把header.footer写成两个单独的模板,然后用后端语言的include即可在其他页面中引入.我之前在<一个简单粗暴的前后端分离方案>这篇文章中说过一种方法,就是用handlebars把header.footer模板预编译为js文件,然后在页面的头部用document.write写到页面中.这种方式的弊端也比较明显,那就是依赖一个模板引擎.在使用mvv…
在前后端分离的项目中,前端和后端可能是在不同的服务器上,也可以是Docker上,那就意味着前端请求后端Restful接口时,存在跨域情况. 后端在做了通用的跨域资源共享CORS设置后,前端在做ajax跨域请求时,如果需要在自定义请求头中设置类似于Authorization认证属性时, 则该ajax请求就从简单请求变为复杂请求.CORS请求分成两类:1,简单请求.2.非简单请求 1.简单请求 1. 请求方法是以下三种方法之一: HEAD.GET.POST 2. HTTP的头信息不超出以下几种字段:…
1:前端vue 写完 打包 npm run build prod 2: 后端api 写完打包 springboot mvn package -Dmaven.test.skip=true 3: nginx配置反向代理,解决跨域问题 配置如下 server {       listen     80;  //监听80端口       server_name www.im.com;  // 配置域名        include /etc/nginx/default.d/*.conf;        …
ubantu18.04 配置nginx与uwsgi   一.首先先安装nginx静态服务 先更新 sudo apt-get update 1.安装gcc g++的依赖库 sudo apt-get install build-essential && sudo apt-get install libtool 2.安装pcre依赖库 sudo apt-get install libpcre3 libpcre3-dev 3.安装zlib依赖库 sudo apt-get install zlib1…
借鉴:https://www.jianshu.com/p/dd23a6547114 1.说到这里还有一种是配置node模拟本地请求 (1)node模拟本地请求: 补充一下 [1]首先在根目录下建一个data.json,用来存放一些返回数据,名字随便取好了 [2]在webpack.dev.conf.js文件里 在这个const portfinder = require('portfinder')的下面 1. //模拟后台请求 const express = require('express') c…
一. 前端Ajax关键配置 $.ajax({ type: "post", url: xxx, data: xxx, contentType: 'application/json', dataType: "json", xhrFields: { withCredentials: true }, success: function (data) { } }) 二.后端过滤器关键配置 //解决Cookie跨域问题 response.setHeader("Acce…