美文网首页
前端利用nginx解决js跨域的问题

前端利用nginx解决js跨域的问题

作者: 牧馬放飏 | 来源:发表于2019-01-06 19:00 被阅读22次

    1.安装nginx

    参考:https://www.jianshu.com/p/fabf07468e33

    2.修改nginx.conf文件

        server {
            listen       8090;
            server_name  localhost;
    
            #charset koi8-r;
            #access_log  logs/host.access.log  main;
    
            location / {
                root   html;
                index  index.html index.htm;
            }
    
            #error_page  404              /404.html;
            # redirect server error pages to the static page /50x.html
            #
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
            # 代理的关键
            location /apis {
                # 添加访问目录为/apis的代理配置
                rewrite  ^.+apis/?(.*)$ /$1 break;
                include  uwsgi_params;
                proxy_pass   http://bms.test.com;
            }
    
        }
    

    配置解释:

    • 由配置信息可知,我们让nginx监听localhost的8090端口,所有请求访问都是经过localhost的8090端口进行访问。

    • 我们特殊配置了一个/apis目录的访问,并且对url执行了重写,最后使以/apis开头的地址都转到“http://bms.test.com”进行处理。

    • rewrite ^/apis/(.*)$ /$1 break;代表重写拦截进来的请求,并且只能对域名后边以“/apis”开头的起作用。例如http://bms.test.com?x=1重写。只对/apis重写。rewrite后面的参数是一个简单的正则 ^/apis/(.*)$ ,$1代表正则中的第一个(),$2代表第二个()的值,以此类推。break代表匹配一个之后停止匹配。

    3.重新启动nginx

    sudo nginx -s reload
    

    相关文章

      网友评论

          本文标题:前端利用nginx解决js跨域的问题

          本文链接:https://www.haomeiwen.com/subject/dposrqtx.html