前端使用nginx代理请求服务端接口

1,864 阅读1分钟
1. 由于之前的公司没有设置跨域,所以以前都是使用nginx作为代理服务器来请求数据的,来到新公司以后有的同事和我说可以file协议使用ajax,有的和我说不行,我有点蒙。自己使用idea自带的服务器也不行,于是自己想着配一下nginx代理。
2. 先把公司服务器的地址搞到,过程就不说了···反正是拿到了,也成功请求到了数据。
1. 首先给我报no servers are inside upstream,这个是负载均衡这个地方的地址不正确,所以把服务器的地址放在这里了。
2. 然后呢是invalid host in upstream这个错误,这个是我的index里面有些静态资源的地址不正确,所以重新把地址写了一下。
3. 把我的配置文件贴上,可以按照这个修改你自己的nginx配置文件
   upstream app_server{
        #server bms.chaojidaogou.com:8080;
        #server 172.16.1.43:8080;
        #server 172.16.1.43:8080;
        #server 172.16.1.43:8080;
        server  129.211.113.148:8080;
    }

    server {
        listen       8070;
        server_name  localhost;//这是你自己要访问的地址

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   C:/Users/MSI-Gaming/Desktop/bibi/bi-h5-engine/bi/report; #填写自己的文件地址
            index  index.html;
        }

        location ^~ /api/.../ {
        proxy_pass 172.1.1.1; #来自/api/开头请求交给tomcat处理,这个是访问接口所在的地址也就是需要代理的地址
        proxy_redirect off;           
        proxy_set_header Host $host;
        proxy_set_header  X_Real_IP $remote_addr;#后端的web服务器可以通过x_Forwarded-For获取用户的真实IP
        proxy_set_header  x_Forwarded-For $proxy_add_x_forwarded_for;
        client_max_body_size 10m;
        client_body_buffer_size 128k;
        proxy_connect_timeout 90;
        proxy_read_timeout 90;
        proxy_buffer_size 4k;
        proxy_buffers 6 32k;
        proxy_busy_buffers_size 64k;
        proxy_temp_file_write_size 64k;

        }