55 lines
2.7 KiB
Markdown
55 lines
2.7 KiB
Markdown
# 施工图审查系统二维码短链生成服务
|
|
## 开发环境
|
|
- visual studio 2019
|
|
- dotnet5 sdk
|
|
## 项目说明
|
|
- 授权与鉴权中间件 `CheckSignMiddleware`
|
|
需要鉴权的接口通过请求中的appid,time计算出签名和请求带来的sign比较
|
|
- 获取二维码 `LinkController.Create`
|
|
返回短链地址
|
|
- 从短链地址重定向到实际网址 `RedirectController.Index`
|
|
从数据库中获取实际地址并带上校验参数 浏览器重定向到目标地址
|
|
## 发布说明
|
|
- 部署在Linux系统中 以守护进程方式运行
|
|
文档: [netcore and systemd](https://devblogs.microsoft.com/dotnet/net-core-and-systemd/)
|
|
- 服务器信息
|
|
- ip地址:10.19.94.213 系统版本 ubuntu
|
|
- 守护程序配置文件 `/etc/systemd/system/qrcode.service`
|
|
- 项目发布主程序入口 `/home/kuanyi/git/sgt_qrcode/QRCodeService/bin/Debug/net5.0/QRCodeService`
|
|
- 工作目录 `/home/kuanyi/git/sgt_qrcode/QRCodeService/bin/Debug/net5.0/`
|
|
|
|
## 更新程序
|
|
- vs发布QRCodeService到文件系统路径下 比如 `/Publish`
|
|
- 通过堡垒机`WinScp`将`/Publish`目录下的所有文件到服务器上
|
|
- `systemctl stop qrcode` 关闭二维码服务
|
|
- 用上传的新文件包内容替换工作目录下的文件
|
|
- `systemctl start qrcode` 重新启动二维码服务
|
|
|
|
## 20250217 21点 更新至1Panel中运行
|
|
- http://10.19.94.213:8088/1Panel
|
|
- 应用商店 - 已安装 - localNetCoreApp
|
|
- 目录迁移至 /opt/1panel/apps/local/NetCoreApp/localNetCoreApp/data/
|
|
- 镜像 AspNet
|
|
- NET 版本 .NET 5.0
|
|
- 系统 Alpine
|
|
- 需要运行的应用程序 QRCodeService.dll
|
|
- HTTP 网页端口 5001
|
|
- 反向代理
|
|
- 应用商店 - 已安装 - openresty
|
|
- /opt/1panel/apps/openresty/openresty
|
|
- 配置在 网站 10.19.94.213 -> 配置-> 反向代理
|
|
- mysql 2025-02-17
|
|
- 默认禁止远程登录,需要连接的话更新一下
|
|
- `/etc/mysql/mariadb.conf.d/50-server.cnf` 30行 `bind-address = 0.0.0.0`
|
|
- 目前链路全开
|
|
- `bind-address=0.0.0.0`
|
|
- `global_priv表Host=% where user='qrcode'`
|
|
- `防火墙3306端口全开`
|
|
- 任何一个关闭所有 只留127.0.0.1 页面就访问不通mysql. ?????????
|
|
|
|
## 2025-02-20 19:20 左右更新
|
|
- mysql 2025-02-20 暴出mariadb 版本有漏洞, 重新在docker里搭
|
|
- 先将表结构一摸一样搞过来, 然后Link表自增列去除 , 然后在将所有数据导入到docker里新库里 Link表 1613万+ 条数据
|
|
- 内部端口 3306 对外映射 3316 , 开发电脑连94.213 的 3316
|
|
- 同是docker局域网 使用内网ip 的 3306 端口连接 , 内网ip在1panel的容器里有ip地址
|
|
- 测试时 使用 `nc -zv ipaddress port` 命令测试docker内部网络端口是否联通 |