私有云K8S集群nginx模板

Viewed 33
server {
  listen 0.0.0.0:8080;
  root /app;
  location / {
    set $needRewrite false;
    set $flag 0;
    if ($http_user_agent ~* '(mobile|nokia|iPhone|Android|samsung|htc|blackberry)') {
        set $needRewrite true;
        set $flag "${flag}1";
    }
    if ($query_string ~ "status=(view)(.*)") {
        set $flag "${flag}2";
    }
    if ($query_string ~ "inviteKey=(.*)") {
        set $flag "${flag}3";
    }
    if ($host ~* ^(.+)?\.web\.yidayun\.com) {
        set $flag "${flag}4";
        set $host_hash $1;
    }
    if ($host !~* "^[a-zA-Z0-9]{1,20}\.web\.yidayun\.com$") {
        set $flag "${flag}5";
    }
    if ($request_uri ~ ^/app-market) {
        set $needRewrite false;
    }
    if ($request_uri ~* \.(gif|jpg|jpeg|png|bmp|swf|svg|webp|js|css)$) {
        set $needRewrite false;
    }

    # 这里要拆开写不然重定向有点问题
    if ($flag = "012") {
        rewrite ^/home(.*)$ /m/subpages/view/index$1 permanent;
    }
    if ($flag = "013") {
        rewrite ^/login(.*)$ /m/subpages/login/otherLogin/index$1 permanent;
    }
    if ($flag = "045") {
        return 404;
    }
    if ($needRewrite = true) {
        rewrite ^/public/form(.*)$ /m/subpages/public/form/index$1 permanent;
        rewrite ^/public/list(.*)$ /m/subpages/public/list/index$1 permanent;
        rewrite ^/qw-login/app(.*)$ /m/subpages/qw-login/app/index$1 permanent;
        rewrite ^/qw-login(.*)$ /m/subpages/qw-login/index$1 permanent;
        rewrite ^/third-party/login(.*)$ /m/subpages/third-party/login/index$1 permanent;
        rewrite ^/home(.*)$ /m/subpages/home/index$1 permanent;
        rewrite ^/r/(.*)$ /m/subpages/login/otherLogin/index?c=$1 permanent;
        rewrite ^/share/form(.*)$ /m/subpages/share/form/index$1 permanent;
        rewrite ^/login(.*)$ /m/subpages/login/otherLogin/index$1 permanent;
        rewrite ^/(.*)$ /m$1 permanent;
    }
      proxy_pass   http://fe-ebuilder:80/;
  }
  location /designer/ {
      proxy_pass   http://fe-designer:80/;
  }
  location /preview {
      proxy_pass  http://kkfileview:8012;
  }
  location /api/ {
      proxy_pass  http://be-gateway:9100/;
  }
  location /oss/ {
      proxy_pass  http://minio:9000/;
  }
  location /socket.io/ {
      proxy_pass  http://be-gateway:9600/socket.io/;
  }
  location /m/ {
      proxy_pass  http://fe-mobile:80/;
  }
}
0 Answers