一、首先去下载一个nginx。
二、配置nginx的配置文件 nginx.conf
server {
listen 8088; #监听端口
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
#代理配置
location /FillFormApp {
proxy_pass http://192.168.5.149:8080;#代理IP:端口
}
}
详解url,url:"http://localhost:8088/FillFormApp/user/login", FillFormApp是我后台服务的访问路径,即:server.context-path=/FillFormApp
当我的ajax访问localhost:8088/FillFormApp服务的时候,nginx首先会拦截到本服务下8088端口的请求,拦截到后,通过proxy_pass http://ip:port;
配置,转发请求到指定的后台服务,ip是本机的ip地址,也可以是127.0.0.1,port就是自己后台启动的端口,即本例中8080端口。这样,ajax就能访问到跨域的后台服务了。
值得注意的是,当ajax的url配置为localhost:8080/FillFormApp/user/login是无法直接访问到后台的。F12控制台会报错:
No 'Access-Control-Allow-Origin' header is present on the requested resource.即无法响应跨域访问。
要将ajax请求的url的端口号改为nginx的端口号:8088,只有这样,nginx才能拦截到来自8088的请求,继而进行代理转发服务了。
至此,实现分离开发模式下,ajax的跨域访问。