问题背景
部署了个环境,过了个周末,周一上班系统突然就到处报错,经过排查发现都是域名解析的问题,上网百度了一大堆帖子都是通过修改/etc/hosts 来解决问题,经过尝试发现并没有什么卵用。
大致说下环境的部署方式:
1. 一台前后端应用部署服务器、一台nginx转发服务器、一台文件服务器、一台数据库服务器;
2. 域名是映射在nginx部署的那台服务器的外网上
3. 前后端服务都是通过docker-compose方式启动的
4. nginx和应用服务部署的服务器都拥有外网访问权限
问题现象
前端服务请求文件服务器文件时,无法对文件路径中的域名进行解析,导致文件无法回显、下载
java .net.UnknownHostException:xxxx.cn
cn.hutool.core.io.IORuntimeException:xxxx.cn
解决方案
最终定位问题为应用服务器外网访问存在问题,无法正常解析域名导致后端应用报错,可尝试修复外网访问问题;也可手动修改docker容器的/etc/hosts文件,追加映射关系
推荐方式:
docker-compose.yml文件中增加DNS静态解析配置
extra_hosts:
- "域名:域名映射主机IP"//一般配置内网IP即可
docker-compose常用命令:
https://blog.csdn.net/qq_39677803/article/details/125055492