# 施工图审查系统二维码短链生成服务 ## 开发环境 - 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内部网络端口是否联通