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

2021-03-11  本文已影响0人  日不落000

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

统一门户可以部署在一个独立的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;
        }
    }

上一篇 下一篇

猜你喜欢

热点阅读