首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >好物分享之一个非常棒的堡垒机

好物分享之一个非常棒的堡垒机

作者头像
IT运维技术圈
发布2024-11-23 09:37:54
发布2024-11-23 09:37:54
26600
代码可运行
举报
文章被收录于专栏:IT运维技术圈IT运维技术圈
运行总次数:0
代码可运行

大家好,波哥又来给大家推荐好东西啦!

Mayfly-Go 是一个综合性的Web管理平台,集成了Linux、数据库、Redis、MongoDB管理以及工单流程审批功能。

功能包括

  • 机器管理:支持 RDP、VNC、SSH 终端(操作记录回放、命令禁用),文件查看、修改、上传、下载和删除,脚本管理执行,计划任务和进程操作,以及运行状态查看,可作为堡垒机使用。
  • 数据库管理 (DBMS):支持 MySQL、PostgreSQL、Oracle、SQL Server、SQLite、高斯、达梦、Kingbase 和 Vastbase 的可视化数据操作,提供 SQL 提示、表信息查看、索引信息和建表语句查看,支持数据库间的数据同步。
  • Redis 管理:支持单机、哨兵和集群模式,提供数据增删改查、版本信息、内存和CPU使用情况、集群节点信息查看等功能。
  • MongoDB 管理:支持文档数据增删改查、数据库和集合状态查看、新建删除集合等功能。
  • SSH 隧道访问:支持通过 SSH 隧道访问 Linux 机器、数据库、Redis 和 MongoDB。
  • 工单流程审批:支持 DBMS、Redis 等写入类危险操作的工单流程审批。
  • 系统管理:提供完善的账号、角色、资源权限控制,系统配置(OAuth2、LDAP登录、登录验证码、双因素校验、水印等),支持二次开发作为后台管理系统。

参数

部署

代码语言:javascript
代码运行次数:0
运行
复制
# 通过-e容器环境变量设置启动依赖相关参数
docker run -d --name mayfly-go -p 18888:18888 \
  -e MAYFLY_JWT_KEY=53445c86e8189b6c646ed7d0d319015144423e72 \
  -e MAYFLY_AES_KEY=7bc5418eefd50402ef39107274891fbe \
  -e MAYFLY_DB_HOST=localhost:3306 \
  -e MAYFLY_DB_USER=root \
  -e MAYFLY_DB_PASS=123456 \
  -e MAYFLY_DB_NAME=mayfly-go \
  -v /usr/local/mayfly-go/mayfly-go.log:/mayfly/mayfly-go.log \
  -v /usr/local/mayfly-go/rec:/mayfly/rec  ccr.ccs.tencentyun.com/mayfly/mayfly-go:{version(替换为对应版本号)}

config.yml(项目启动依赖的配置文件)

代码语言:javascript
代码运行次数:0
运行
复制
server:
  # debug release test
  model: release
  port: 18888
  cors: true
  tls:
    enable: false
    key-file: ./default.key
    cert-file: ./default.pem
jwt:
  # jwt key,不设置默认使用随机字符串
  key: 
  # 过期时间单位分钟
  expire-time: 720
  # refreshToken过期时间单位分钟
  refresh-token-expire-time: 4320
# 资源密码aes加密key
aes:
  key: 1111111111111111
mysql:
  host: localhost:3306
  username: root
  password: 111049
  db-name: mayfly-go
  config: charset=utf8&loc=Local&parseTime=true
  max-idle-conns: 5
sqlite:
  # sqlite数据文件位置(需要到获取初始化的sqlite数据文件放置到自定义位置)
  path: ./mayfly-go.sqlite
  max-idle-conns: 5
log:
   # 日志等级, debug, info, warn, error
  level: info
  # 日志格式类型, text/json
  type: text
  # 是否记录方法调用栈信息
  add-source: false
  # file:
  #   path: ./
  #   name: mayfly-go.log

nginx转发配置信息

代码语言:javascript
代码运行次数:0
运行
复制
upstream mayfly-go {   
    server 172.17.0.1:18888;
}
server {
    keepalive_requests 120; #单连接请求上限次数。
    listen       80;   #监听端口
    server_name  xxx.net;   #监听地址 
    proxy_set_header X-Real_IP $remote_addr;
    proxy_set_header Host $host;
    proxy_set_header X_Forward_For $proxy_add_x_forwarded_for;
    proxy_set_header Upgrade $http_upgrade;   #需要配置支持websocket
    proxy_set_header Connection 'upgrade';    #需要配置支持websocket

    location  / {       #请求的url过滤,正则匹配,~为区分大小写,~*为不区分大小写。
        proxy_pass  http://mayfly-go;  #请求转向mayfly-go 定义的服务器列表    
    } 
}

截图

代码语言:javascript
代码运行次数:0
运行
复制
项目地址:
gitee: https://gitee.com/objs/mayfly-go
github: https://github.com/may-fly/mayfly-go
演示环境:
http://go.mayfly.run
账号:test   
密码:test123.

‍‍‍觉得不错别忘了给波哥一键三连哦!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-09-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT运维技术圈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档