From eac9b2b4e9cf24686803b41000f5ceda503f506f Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Fri, 1 Nov 2024 16:46:34 +0800 Subject: [PATCH] =?UTF-8?q?faet:=20omc=E5=9C=A8docker=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E4=B8=AD=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/omc/etc/omc.yaml | 160 --------------------------- docker/omc/frontend/index.html | 11 ++ docker/omc/logs/nginx/access.log | 0 docker/omc/logs/nginx/error.log | 0 docker/omc/logs/omc.log | 0 docker/omc/machine.ini | 0 docker/omc/nginx/nginx.conf | 64 +++++++++-- docker/omc/omc.yaml | 178 +++++++++++++++++++++++++++++++ 8 files changed, 244 insertions(+), 169 deletions(-) delete mode 100644 docker/omc/etc/omc.yaml create mode 100644 docker/omc/frontend/index.html create mode 100644 docker/omc/logs/nginx/access.log create mode 100644 docker/omc/logs/nginx/error.log create mode 100644 docker/omc/logs/omc.log create mode 100644 docker/omc/machine.ini create mode 100644 docker/omc/omc.yaml diff --git a/docker/omc/etc/omc.yaml b/docker/omc/etc/omc.yaml deleted file mode 100644 index d6da1cb..0000000 --- a/docker/omc/etc/omc.yaml +++ /dev/null @@ -1,160 +0,0 @@ -# file: log file name -# level: /trace/debug/info/warn/error/fatal, default: debug -# duration: rotation time with xx hours, example: 1/12/24 hours -# count: rotation count of log, default is 30 rotation -logger: - file: /usr/local/omc/log/restagent.log - level: debug - duration: 24 - count: 90 - -# rest agent listen ipv4/v6 and port, support multiple routines -# ip: 0.0.0.0 or ::0, support IPv4/v6 -# clientAuthType: 0:NoClientCert (default), 1:RequestClientCert, 2:RequireAnyClientCert, -# 3:VerifyClientCertIfGiven, 4:RequireAndVerifyClientCerts -rest: - - ipv4: 0.0.0.0 - ipv6: - port: 3030 - -webServer: - enabled: false - rootDir: /usr/local/omc/htdocs/front - listen: - - addr: :80 - schema: http - - addr: :443 - schema: https - clientAuthType: 0 - caFile: /usr/local/omc/etc/certs/omc-ca.crt - certFile: /usr/local/omc/etc/certs/omc-server.crt - keyFile: /usr/local/omc/etc/certs/omc-server.key - -database: - type: mysql - user: root - password: "root@1234" - host: "192.168.5.57" - port: 3306 - name: omc_db - backup: /usr/local/omc/database - -# Redis data cache -redis: - dataSource: - # OMC system db - default: - port: 6379 # Redis port - host: "192.168.5.57" # Redis host - password: "" - db: 10 # Redis db_num - # UDM sub/auth db - udmuser: - port: 6379 # Redis port - host: "192.168.5.57" - password: "" - db: 0 # Redis db_num - # used to specify the default data source for multiple data resourece - defaultDataSourceName: "default" - -# sleep: time delay for after write buffer (millisecond) -# deadLine: timeout for io read and write (second) -mml: - port: 4100 - sleep: 200 - deadLine: 10 - user: admin - password: admin - mmlHome: ./mmlhome - upload: /home/agtuser - -# NE config -ne: - user: agtuser - etcdir: /usr/local/etc - bindir: /usr/local/bin - omcdir: /usr/local/omc - scpdir: /tmp - licensedir: /usr/local/etc/{neType}/license - # backup etc list of IMS, does not contain spaces - etcListIMS: "{*.yaml,mmtel,vars.cfg}" - -# chk2ne: true/false, if put OmcNeConfig parameters to NE -omc: - uriPrefix: "/omc/rest" - neType: OMC - neId: 001 - rmUID: 4400HX101 - neName: OMC - province: GD - vendor: "" - dn: 4600 - chk2ne: false - sn: "-" - checksign: false - rootDir: /usr/local/omc - binDir: /usr/local/omc/bin - backup: /usr/local/omc/backup - upload: /usr/local/omc/upload - frontUpload: /usr/local/omc/htdocs/front/upload - frontTraceDir: /usr/local/omc/htdocs/front/trace - software: /usr/local/omc/software - license: /usr/local/omc/license - gtpUri: gtp:192.168.2.119:2152 - checkContentType: false - testMode: false - rbacMode: true - runDir: /usr/local/omc/run - cmdTimeout: 120 - -# Alarm module setting -# Forward interface: -# email/sms -alarm: - forwardAlarm: true - email: - smtp: smtp.xxx.com - port: 25 - user: smtpuser@xxx.com - password: xxxxxx - # TLS skip verify: true/false - tlsSkipVerify: true - sms: - apiURL: http://smsc.xxx.com - accessKeyID: xxx - accessKeySecret: xxx - signName: XXX SMSC - templateCode: 1000 - -# User authorized information -# crypt: mysql/md5/bcrypt -# token: true/false to check accessToken -# expires for session, unit: second -# Support single/multiple session of user -# -auth: - crypt: bcrypt - token: true - expires: 1800 - session: multiple - publicKey: /usr/local/omc/etc/certs/omc - privateKey: /usr/local/omc/etc/certs/omc - -# Parameter for limit number -# rmuid_maxnum: the max number of rmUID, default: 50 -# alarmid_maxnum: the max number of AlarmID, default: 50 -# pmid_maxnum: the max number of pmID, default: 50 -# subid_maxnum: the max number of subscription ID, default: 20 -# uri_maxlen: the max length of uri, default: 8192 -# rmuid_regexp: regexp pattern of rmUID -params: - rmuidmaxnum: 50 - alarmidmaxnum: 50 - pmidmaxnum: 50 - subidmaxnum: 20 - urimaxlen: 2100000 - rmuidregexp: "[0-9]{4}[A-Z]{2}[A-Z]{2}[0-9A-Z]{1}[0-9A-Z]{3}[0-9A-Z]{1,16}" - -testConfig: - enabled: false - file: /usr/local/omc/etc/testconfig.yaml \ No newline at end of file diff --git a/docker/omc/frontend/index.html b/docker/omc/frontend/index.html new file mode 100644 index 0000000..2c7e9ae --- /dev/null +++ b/docker/omc/frontend/index.html @@ -0,0 +1,11 @@ + + + + + + OMC Document + + +

OMC

+ + \ No newline at end of file diff --git a/docker/omc/logs/nginx/access.log b/docker/omc/logs/nginx/access.log new file mode 100644 index 0000000..e69de29 diff --git a/docker/omc/logs/nginx/error.log b/docker/omc/logs/nginx/error.log new file mode 100644 index 0000000..e69de29 diff --git a/docker/omc/logs/omc.log b/docker/omc/logs/omc.log new file mode 100644 index 0000000..e69de29 diff --git a/docker/omc/machine.ini b/docker/omc/machine.ini new file mode 100644 index 0000000..e69de29 diff --git a/docker/omc/nginx/nginx.conf b/docker/omc/nginx/nginx.conf index 1043908..a95dca8 100644 --- a/docker/omc/nginx/nginx.conf +++ b/docker/omc/nginx/nginx.conf @@ -48,7 +48,7 @@ http { # Path of the file with Diffie-Hellman parameters for EDH ciphers. # TIP: Generate with: `openssl dhparam -out /etc/ssl/nginx/dh2048.pem 2048` - ssl_dhparam /usr/local/omc/nginx/cert/dhparams.pem; + ssl_dhparam /etc/nginx/cert/dhparams.pem; # Specifies that our cipher suits should be preferred over client ciphers. # Default is 'off'. @@ -95,12 +95,39 @@ http { listen 80; listen [::]:80; server_name localhost; + + # 修改允许最大请求体大小为100MB + client_max_body_size 100M; + # 持久连接的超时时间默认60s + keepalive_timeout 180s; + + #access_log /var/log/nginx/host.access.log main; + + # ssl_certificate /usr/share/nginx/cert/www.x.cn_chain.crt; + # ssl_certificate_key /usr/share/nginx/cert/www.x.cn.key; + + # ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; + # ssl_session_timeout 5m; + # ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; + # ssl_prefer_server_ciphers on; + # ssl_dhparam /usr/share/nginx/cert/dhparams.pem; + + # OMC + location / { + root /usr/local/etc/omc/frontend; + + try_files $uri $uri/ /index.html; + index index.html index.htm; + } location /omc-api/ { - proxy_pass http://127.0.0.1:3030/; - - proxy_http_version 1.1; - proxy_cache_bypass $http_upgrade; + proxy_pass http://127.0.0.1:33030/; + + proxy_connect_timeout 180s; # 默认60s + proxy_send_timeout 180s; # 默认60s + proxy_read_timeout 180s; # 默认60s + + proxy_cache_bypass $http_upgrade; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; @@ -111,11 +138,30 @@ http { proxy_set_header X-Forwarded-Port $server_port; } - location / { - root /usr/local/bin/omc-frontend; + location /api/rest/ { + # 添加斜杠并重定向 + #rewrite ^([^.]*[^/])$ $1/ permanent; + proxy_pass http://127.0.0.1:33030/api/rest/; - try_files $uri $uri/ /index.html; - index index.html index.htm; + proxy_cache_bypass $http_upgrade; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-Host $host; + proxy_set_header X-Forwarded-Port $server_port; + } + + #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 /usr/local/etc/omc/frontend; } } + } diff --git a/docker/omc/omc.yaml b/docker/omc/omc.yaml new file mode 100644 index 0000000..e780eba --- /dev/null +++ b/docker/omc/omc.yaml @@ -0,0 +1,178 @@ +# file: log file name +# level: /trace/debug/info/warn/error/fatal, default: debug +# duration: rotation time with xx hours, example: 1/12/24 hours +# count: rotation count of log, default is 30 rotation +logger: + file: "/var/log/omc/restagent.log" + level: debug + duration: 24 + count: 2 + +pprof: + enabled: true + addr: :33060 + +# rest agent listen ipv4/v6 and port, support multiple routines +# ip: 0.0.0.0 or ::0, support IPv4/v6 +# clientAuthType: 0:NoClientCert (default), 1:RequestClientCert, 2:RequireAnyClientCert, +# 3:VerifyClientCertIfGiven, 4:RequireAndVerifyClientCerts +rest: + - ipv4: 0.0.0.0 + ipv6: + port: 33030 + +webServer: + enabled: false + +database: + type: mysql + user: root + password: "1000omc@kp!" + host: "192.168.9.58" + port: 13306 + name: "omc_db" + connParam: charset=utf8mb4&collation=utf8mb4_general_ci&parseTime=True&interpolateParams=True + backup: d:/omc.git/be.ems/restagent/database + +# Redis data cache +redis: + dataSource: + # OMC system db + default: + port: 16379 # Redis port + host: "192.168.9.58" # Redis host + password: "helloearth" + db: 10 # Redis db_num + # used to specify the default data source for multiple data resourece + defaultDataSourceName: "default" + +# sleep: time delay for after write buffer (millisecond) +# deadLine: timeout for io read and write (second) +mml: + sleep: 200 + deadLine: 10 + sizeRow: 600 + sizeCol: 128 + bufferSize: 65535 + mmlHome: ./mmlhome + +# Tracking configuration +trace: + enabled: true + host: "192.168.5.58" # Fill in the specific IP address + port: 33033 + +# NE config +ne: + user: omcuser + etcdir: /usr/local/etc + bindir: /usr/local/bin + omcdir: /usr/local/omc + scpdir: /tmp + licensedir: /usr/local/etc/{neType}/license + # backup etc list of IMS,no space + etcListIMS: "{*.yaml,mmtel,vars.cfg}" + etcListDefault: "{*.yaml,*.conf,*.cfg}" + # true/false to overwrite config file when dpkg ne software + dpkgOverwrite: false + # dpkg timeout (second) + dpkgTimeout: 180 + +# chk2ne: true/false, if put OmcNeConfig parameters to NE +omc: + uriPrefix: "/omc/rest" + neType: OMC + neId: 001 + rmUID: 4400HX101 + neName: OMC + province: GD + vendor: "" + dn: 4600 + chk2ne: false + sn: "-" + checksign: false + rootDir: ./ + binDir: ./bin + backup: C:/usr/local/omc/backup + upload: C:/usr/local/omc/upload + frontUpload: C:/usr/local/omc/upload + frontTraceDir: C:/usr/local/omc/trace + software: C:/usr/local/omc/software + license: C:/usr/local/omc/license + gtpUri: gtp:192.168.2.219:2152 + checkContentType: false + testMode: false + rbacMode: true + runDir: + cmdTimeout: 120 + +# Alarm module setting +# Forward interface: +# TLS Skip verify: true/false +# email/sms +# smProxy: sms(Short Message Service)/smsc(SMS Centre) +# dataCoding: 0:GSM7BIT, 1:ASCII, 2:BINARY8BIT1, 3:LATIN1, +# 4:BINARY8BIT2, 6:CYRILLIC, 7:HEBREW, 8:UCS2 +alarm: + alarmEmailForward: + enable: true + emailList: + smtp: mail.smtp.com + port: 25 + user: smtpext@smtp.com + password: "1000smtp@omc!" + tlsSkipVerify: true + alarmSMSForward: + enable: true + mobileList: "1006,1008" + smscAddr: "192.168.14.212:2775" + systemID: "123456" + password: "123456" + systemType: "UTRAN" + dataCoding: 0 + serviceNumber: "OMC" + sms: + apiURL: http://smsc.xxx.com/ + accessKeyID: xxxx + accessKeySecret: xxxx + signName: xxx SMSC + templateCode: 1000 + smProxy: smsc + +#User authorized information +# crypt: mysql/md5/bcrypt +# token: true/false to check accessToken +# expires for session, unit: second +# Support single/multiple session of user +# +auth: + crypt: bcrypt + token: true + expires: 1800 + session: multiple + publicKey: ./etc/certs/omc_pub.key + privateKey: ./etc/certs/omc_pri.key + +# Parameter for limit number +# rmuid_maxnum: the max number of rmUID, default: 50 +# alarmid_maxnum: the max number of AlarmID, default: 50 +# pmid_maxnum: the max number of pmID, default: 50 +# subid_maxnum: the max number of subscription ID, default: 20 +# uri_maxlen: the max length of uri, default: 8192 +# rmuid_regexp: regexp pattern of rmUID +params: + rmuidmaxnum: 50 + alarmidmaxnum: 50 + pmidmaxnum: 50 + subidmaxnum: 20 + urimaxlen: 2100000 + rmuidregexp: "[0-9]{4}[A-Z]{2}[A-Z]{2}[0-9A-Z]{1}[0-9A-Z]{3}[0-9A-Z]{1,16}" + +# 静态文件配置, 相对项目根路径或填绝对路径 +staticFile: + # 默认资源,dir目录需要预先创建 + default: + dir: "/usr/local/etc/omc/static" + # 文件上传资源目录映射,与项目目录同级 + upload: + dir: "/usr/local/etc/omc/upload"