一、首先去下载一个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的跨域访问。

更多推荐

nginx代理ajax跨域请求