# 宝兰德webServer代理OA配置

# 背景

部分客户在信创改造过程中,受合规要求限制无法使用 Nginx 作为代理服务,可选择宝兰德 WebServer 作为替代方案。以下对相关配置进行简要说明。

# 部署

宝兰德webServer服务由宝兰德技术人员提供部署支持。

# 配置文件

以下是使用宝兰德webServer代理OA、comi、bi的详细配置,其余配置文件comi.conf、bi.conf、comi_server.conf与标准一致,放到ext目录下即可。

进入宝兰德webServer安装目录下的conf目录,编辑bws.conf文件

user root;
worker_processes auto;
error_log  logs/error.log;
events {
  worker_connections 4096;
  use epoll;
}

http {
  include mime.types;
  default_type application/octet-stream;
  access_log off;
  sendfile on;
  tcp_nopush     on;
  tcp_nodelay on;
  keepalive_timeout 300;
  client_max_body_size 0;

  gzip  on;
  gzip_min_length 1k;
  gzip_buffers 4 16k;
  gzip_comp_level 3;
  gzip_types text/xml text/plain text/css text/javascript application/x-javascript application/javascript application/xml;
  gzip_disable "MSIE [1-6]\.";

  upstream seeyon_v5_cluster {
    sticky;
    server 192.168.0.1:18080 max_fails=300 fail_timeout=30s;
    server 192.168.0.2:18080 max_fails=300 fail_timeout=30s;
  }
  upstream ai_manager {
    server 192.168.0.3:8181;
  }
  upstream comi_server {
    server 192.168.0.3:8081;
  }
  upstream data_pulse {
    server 192.168.0.3:8058;
  }
  server {
    listen 80;
    server_name localhost;
    charset utf-8;
    include ext/comi.conf;
    include ext/bi.conf;
    include ext/comi_server.conf;
    location / {
      proxy_pass http://seeyon_v5_cluster;
      proxy_set_header Host $http_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_set_header X-Forwarded-Proto $scheme;
      proxy_redirect http:// $scheme://;
      proxy_connect_timeout 300;
      proxy_read_timeout 300;
      proxy_send_timeout 300;
      proxy_cache off;
      concat off;
      sysguard off;
    }
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
      root html;
    }
  }
}

特别注意:

除upstream seeyon_v5_cluster 以外,其余如 ai_managercomi_serverdata_pulse下,不要直接启用 sticky 模块,这会导致sticky添加的cookie字段冲突,无法正常代理请求到comi等服务。 宝兰德技术建议如果要配置sticky,建议给每个 upstream 的 sticky 指定唯一的 cookie 名称,示例如下:

upstream seeyon_v5_cluster {
    sticky cookie oaxxxx;
    server 192.168.0.1:18080 max_fails=300 fail_timeout=30s;
    server 192.168.0.2:18080 max_fails=300 fail_timeout=30s;
}

upstream ai_manager {
    sticky cookie axxxx;
    server 192.168.0.3:8058;
}

upstream comi_server {
    sticky cookie bxxxx;
    server 192.168.0.3:8081;
}

upstream data_pulse {
    sticky cookie cxxxx;
    server 192.168.0.3:8058;
}
编撰人:wangyxyf