转载自:https://mp.weixin.qq.com/s/rbiMZF4JTb8jhbx3KWA_4A

产品定位与核心优势

Openres-Manager是一款基于OpenResty的Web化Nginx反向代理管理工具,通过图形化界面将传统Nginx配置中的反向代理、负载均衡、安全防护等复杂功能模块化,显著降低运维门槛。其核心价值体现在:

yibiaopan.jpg

零代码配置:通过可视化界面完成SSL证书申请、上游服务配置、路由规则定义等操作

动态负载均衡:支持轮询、权重、最小连接数等策略,兼容Docker容器动态IP场景

安全防护集成:内置CC防护、IP黑白名单、WAF规则引擎等安全模块

自动化运维:支持证书自动续期、配置热更新、日志集中管理

shangdian.jpg

安装部署指南

  1. 源码安装方案(推荐)
# 执行安装脚本(需root权限)
sudo bash -c "$(curl -fsSL https://om.uusec.com/installer_cn.sh)"
# 默认端口占用:80(HTTP)、443(HTTPS)、34567(管理面板)
  1. Docker容器化部署
# 拉取官方镜像
docker pull openres-manager/om:latest
# 启动容器(需映射配置卷)
docker run -d \  
-p 80:80 -p 443:443 -p 34567:34567 \  
-v /etc/openres-manager/conf:/etc/openres-manager \  
--name openres-manager \  
openres-manager/om:latest
#########################
#或者
#新建docker-composer.yml
services:
  openresty-manager:
    image: uusec/openresty-manager:latest
    # image: swr.cn-south-1.myhuaweicloud.com/uusec/openresty-manager:latest  # 网络不好时可以用这个
    container_name: openresty-manager
    restart: unless-stopped
    #tty: true
    #stdin_open: true
    network_mode: bridge
    ports:
      - "80:80"  # 前面端口本地不冲突
      - "443:443"  # 前面端口本地不冲突
      - "34567:34567"  # 前面端口本地不冲突
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - /mnt/appdata/openresty-manager/acme:/opt/om/acme  # 冒号前面为acme子文件夹绝对路径
      - /mnt/appdata/openresty-manager/data:/opt/om/data  # 冒号前面为data子文件夹绝对路径
      - /mnt/appdata/openresty-manager/nginx/conf/sites:/opt/om/nginx/conf/sites  # 冒号前面为sites子文件夹绝对路径
      - /mnt/appdata/openresty-manager/nginx/conf/certs:/opt/om/nginx/conf/certs  # 冒号前面为certs子文件夹绝对路径
      - /mnt/appdata/openresty-manager/nginx/conf/upstreams:/opt/om/nginx/conf/upstreams  # 冒号前面为upstreams子文件夹绝对路径
##############
#启动服务
docker-compose up -d
  1. 初始配置

访问 http://<服务器IP>:34567

默认账号:admin,密码:#Passw0rd(建议首次登录后修改)

核心功能模块详解

  1. SSL证书自动化管理

证书申请:支持Let's Encrypt自动化申请,需提前配置DNS解析

自动续期:内置证书监控模块,到期前30天自动触发续期流程

多域名支持:单证书可绑定多个子域名,支持泛域名证书

zhengshu.jpg

  1. 上游服务配置

服务发现:支持Docker容器服务自动发现(需配置Docker API访问)

健康检查:基于TCP/HTTP的健康探测机制,自动剔除故障节点

动态负载

-- 示例:基于Lua脚本的动态权重调整
local upstream = require "ngx.upstream"
local servers = {  
    {host="192.168.1.100", port=8080, weight=2},  
    {host="192.168.1.101", port=8080, weight=1}
}
upstream.set_peers(servers)

shangyoudaili.jpg

  1. 路由规则配置

路径匹配:支持正则表达式、前缀匹配等路由策略

条件路由:可根据Header、Cookie、参数值进行动态分流

A/B测试:通过权重配置实现流量灰度发布

daili.jpg

  1. 安全防护体系

CC防护

# 配置示例:60秒内单个IP最多100次请求
lua_shared_dict ip_limit 10m;
access_by_lua_block {  
    local limit_count = require "resty.limit.count"  
    local lim, err = limit_count.new("ip_limit", 100, 60)  
    if not lim then    
         ngx.exit(500)  
    end  
    local delay, err = lim:incoming(ngx.var.binary_remote_addr, true)  
    if err == "rejected" then    
        ngx.exit(503)  
    end
}

WAF规则:集成ModSecurity规则集,支持SQL注入、XSS等攻击防护

IP管控:支持国家/地区级访问控制,内置GeoIP数据库

ccfanghu.jpg

进阶应用场景

  1. 微服务网关

服务治理:集成Consul/Eureka实现服务注册发现

熔断限流:基于Sentinel的动态限流策略

请求转换:支持gRPC转HTTP、JSON Schema验证等

  1. 边缘计算节点

就近访问:结合Anycast实现全球低延迟访问

内容缓存:配置Redis缓存层,支持毫秒级响应

动态压缩:根据Accept-Encoding自动选择压缩算法

  1. 混合云架构

多云负载:支持AWS、Azure、阿里云等混合云环境

流量调度:基于网络质量、成本等因素的智能路由

灾难恢复:自动故障转移与回滚机制

性能优化建议

连接池配置:

lua_socket_pool_size 320;
keepalive_timeout 60s;
keepalive_requests 10000;

JIT优化:

lua_code_cache on;  # 生产环境必须开启
jit_opt "2";       # 启用LuaJIT优化

资源监控:

  • 集成Prometheus导出器
  • 配置Grafana可视化面板
  • 设置CPU/内存使用率告警阈值

项目总结

Openres-Manager通过将OpenResty的强大能力封装为易用的管理界面,既保留了Nginx的高性能特性,又显著降低了运维复杂度。其特别适合以下场景:

  • 中小型企业的快速业务部署
  • 多租户SaaS平台的代理管理
  • 边缘计算节点的统一管控
  • 混合云架构的流量调度
  • 建议生产环境部署时:
  • 启用HTTPS强制跳转
  • 配置双因素认证
  • 定期备份配置文件
  • 监控关键性能指标(QPS、响应时间、错误率)