nginx代理ajax跨域请求

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值