ITSWE博客

建站日志 09-27:showhoo.com 回家

企业站从群晖迁到香港,数据库配置里藏着一个指向内网的地址。迁移的坑,一半在别人留下的配置里。

企业官网 showhoo.com 这天完成搬家:从家里的群晖 NAS,迁到香港机直接运行。

起因是 NAS 上那套站点早就半死不活——八月份一次系统更新顺手动了个系统库,图像组件加载失败,整站 404;后来又有人做了轮 nginx 加固,服务就停摆至今。修不如迁,拍板:别修了,直接搬家。

迁移本身是熟路:数据库导出导入、站点文件打包、容器环境搭建、反代指路。但每一环都埋着前人(主要是几个月前的自己)留的雷。

最大的雷在数据库配置:同一个库的连接信息竟然有两个文件,一个写本机地址,一个写内网 IP。生效的是后者——而那个内网 IP 在新家根本不存在,于是网站一连数据库就挂死。strace 抓系统调用一步步追到 connect() 那一行才锁定。教训:配置的真相以运行时生效的那份为准,不是以你以为的那份为准。

另一个坑是群晖的文件复制:复制出来的“副本”和源文件 inode 相同,根本不是真复制,看着拷完了其实什么都没拷。跨机迁移数据库老老实实用打包管道,不碰文件系统的捷径。

顺手还做了一次端口审计:发现两条穿透隧道的服务端口一直对公网敞着,访客只要带上正确的域名头就能绕过边缘直达内部服务。当天收敛,外网复测确认已封死。边缘校验设计的第一课:先枚举所有能到达后端的路径,再谈防线。

晚上 301 上线,老域名跳新址,证书自动续期。官网回家,睡了个好觉。

建站日志运维