美文网首页
NGINX配置示例-双中心统一入口访问

NGINX配置示例-双中心统一入口访问

作者: 日不落000 | 来源:发表于2021-03-11 16:14 被阅读0次

    双中心 分别部署一套系统
    需要一个统一门户来访问双系统里的内容

    统一门户可以部署在一个独立的NGINX,涉及到登录后token同步,点击bj图标访问bj服务器,点击sh图标访问sh服务器,默认访问bj服务器

    不同中心应用访问,通过NGINX代理地址添加bj/sh

    添加登录成功后的首页;
    将应用展示出来,并跳转;
    打包前端portal应用;
    将打包后的portal放到NGINX中;
    独立的NGINX配置示例如下:

        #bj
        upstream bj {
          server 10.9.160.26 weight=5;
        }
        #sh
        upstream sh {
          server 10.9.160.29 weight=5;
        }
        server {
            listen       8091;
            server_name  localhost;
    
            #charset koi8-r;
    
            # access_log  logs/host.access.log  main;
              # 页面地址是a.com,但是要用b.com的cookie需要
            proxy_set_header Cookie $http_cookie;
            # iframe 跨域问题
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "Upgrade";
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_hide_header X-Frame-Options;
            add_header X-Frame-Options ALLOWALL;
            # add_header X-Frame-Options "ALLOW-FROM http://localhost:8080";
    
            add_header Access-Control-Allow-Origin *; # 必须要有
            add_header Access-Control-Allow-Headers *; # 必须要有
            proxy_cookie_domain bj localhost;  # 重要 对应upstream bj #注意别写错位置了 proxy_cookie_path / /;
            location / {
              # root html/build;
              # index  index.html;
              proxy_pass http://localhost:8081;//本地开发环境运行在8081端口
            }
    
            #通用
            location ~ (/a1|/b2|/itsm|/alert) {
    
                set $URL  $http_referer;
                if ($URL ~ "sh"){
                   proxy_pass http://sh;
    
                }
                if ($URL ~ "bj"){
                   proxy_pass http://bj;
    
                }
                if ($URL !~ (bj|sh)){
                   proxy_pass http://bj; # 必须是这个IP
    
                }
            }
            #北京
            location ^~/bj/ {
                proxy_pass http://bj/;
            }
            location ^~/bj_itsm/ {
                rewrite /bj_itsm /itsm last;
                proxy_pass http://bj/;
            }
            location ^~/bj_alert/ {
                rewrite /bj_alert /bj/alert last; # last 是重要的
                proxy_pass http://bj/;
            }
            #上海
            location ^~/sh/ {
                proxy_pass http://sh/;
            }
            location ^~/sh_alert/ {
                rewrite /sh_alert /sh/alert last;
                proxy_pass http://sh/;
            }
            location ^~/portal-bridge/ {
                proxy_pass http://10.9.160.28;//token同步接口
            }
    
    
    
            #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;
            }
        }
    
    

    相关文章

      网友评论

          本文标题:NGINX配置示例-双中心统一入口访问

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