前端微服务

Tips:能够将多个零碎交融成一个零碎,无技术壁垒,能够像iframe一样实现性能组合
● qiankun (阿里反对)
● micro-app (京东反对)
● wujie (腾讯反对)自己举荐

应用微服务会导致跨域问题

Tips:跨域就是非同源网站发动申请,浏览器安全策略爱护机制导致的
● 文件跨域:html页面,动态资源跨域等
● 接口跨域:get,post等等申请跨域

跨域问题解决

Tips:这里以Nginx 配置为例
Nginx 配置详解,例子内要害行都有正文;

跨域遵循谁被援用,配置谁的准则
        listen       8088;        server_name  10.72.159.133;        location / {            root /jur;            index index.html index.htm;            try_files $uri $uri/ /index.html;            # 使得html文件能够在跨域拜访            add_header Access-Control-Allow-Origin *;        }        location /api/ {                # 因为跨域申请会先发动option(预检)申请,而预检申请要通知客户端哪些货色能通过因而要害配置option申请即可                if ($request_method = 'OPTIONS') {                    # 使得申请从哪其余地位来能够通过                    add_header 'Access-Control-Allow-Origin' $http_origin;                    # 使申请能够携带cookie                    add_header 'Access-Control-Allow-Credentials' 'true';                    # 通知客户端哪些申请能够通过                    add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, DELETE, PATCH, PUT';                    # 设置申请最大值                    add_header 'Access-Control-Max-Age' 1728000;                    add_header 'Content-Type' 'text/plain; charset=utf-8';                    # add_header 'Content-Type' 'application/json;charset=UTF-8';                    # 容许自定义authorization申请头通过                    add_header 'Access-Control-Allow-Headers' 'authorization,Content-Type,XFILENAME,XFILECATEGORY,XFILESIZE';                    # 不限度内容长度                    add_header 'Content-Length' 0;                    # 返回通过code                    return 204;                }                # 申请转发                proxy_pass http://xx.xxx.xxx.xxx:8000/api/;                proxy_redirect default;                    proxy_cookie_path ~*^/.* /;                    proxy_set_header Host $host;                    proxy_set_header X-Real-IP $remote_addr;                    proxy_set_header REMOTE-HOST $remote_addr;                    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;                proxy_connect_timeout   18000;                    proxy_send_timeout      18000;                    proxy_read_timeout      18000;        }        error_page   500 502 503 504  /50x.html;        location = /50x.html {            root html;        }    }

如果Ngnix是通过docker启动的

Tips:docker启动Nginx 须要配置docker-componse.yml文件
docker-componse.yml须要配置文件/目录/端口等映射关系,否则基于docker启动的Nginx无法访问