




















https://chat.deepseek.com/share/rwuvdw76meydyzbpmc
ry-mes-font-service-1.1/etc/nginx/conf.d/default.conf/home/wangh/mes_font/default.conf-v /home/wangh/mes_font/default.conf:/etc/nginx/conf.d/default.conflocation / 块中新增 IP 白名单,允许 10.204.52.41、10.66.17.17、10.66.17.108 访问,其他 IP 全部拒绝。# 查看 conf.d 目录
docker exec ry-mes-font-service-1.1 ls -la /etc/nginx/conf.d/
# 查看现有 default.conf 内容
docker exec ry-mes-font-service-1.1 cat /etc/nginx/conf.d/default.conf
使用 vim 编辑宿主机挂载的源文件:
vim /home/wangh/mes_font/default.conf
具体编辑操作:
i 进入插入模式deny all; 行的正上方allow 10.204.52.41;
allow 10.66.17.17;
allow 10.66.17.108;
Esc 退出插入模式:wq 并回车,保存并退出 vimdocker exec ry-mes-font-service-1.1 nginx -s reload
终端输出提示:
2026/05/19 01:40:15 [notice] 137#137: signal process started
此时通过以下命令验证,发现新规则未出现:
docker exec ry-mes-font-service-1.1 cat /etc/nginx/conf.d/default.conf | grep -B 5 "deny all"
docker restart ry-mes-font-service-1.1
docker exec ry-mes-font-service-1.1 cat /etc/nginx/conf.d/default.conf | grep -B 5 "deny all"
成功输出示例:
allow 10.202.16.115;
allow 10.202.16.194;
allow 10.204.52.41;
allow 10.66.17.17;
allow 10.66.17.108;
deny all;
至此,白名单配置成功生效。
nginx -s reload 热加载未生效?nginx -s reload 时,Nginx 虽重新读取配置,但仍指向已被删除的旧文件缓存,因此新规则未能加载。docker restart)会彻底销毁旧进程并创建新进程,新进程重新打开挂载文件,获取最新内容。grep -B 5 "deny all" 可以查看 deny all 之前的 5 行内容,避免因搜索词不完全匹配导致的误判(例如 10.204.52 无法匹配 10.204.52.41)。.swp 文件存在。处理方法:按 Q 退出警告界面,然后执行 rm /home/wangh/mes_font/.default.conf.swp 删除交换文件。# 1. 进入容器终端
docker exec -it ry-mes-font-service-1.1 /bin/bash
# 2. 安装 vim(官方 Nginx 镜像默认没有编辑器)
apt-get update && apt-get install -y vim -y
# 3. 编辑配置文件
vim /etc/nginx/conf.d/default.conf
# 4. 检查语法
nginx -t
# 5. 热加载
nginx -s reload
# 6. 退出容器
exit
优点:无 inode 变化问题,nginx -s reload 一定生效,无需重启容器。
# 复制一份临时文件
cp /home/wangh/mes_font/default.conf /home/wangh/mes_font/default.conf.new
# 编辑临时文件
vim /home/wangh/mes_font/default.conf.new
# 用重定向覆盖原文件(inode 保持不变)
cat /home/wangh/mes_font/default.conf.new > /home/wangh/mes_font/default.conf
# 热加载
docker exec ry-mes-font-service-1.1 nginx -s reload
| 目的 | 命令 |
|---|---|
查看完整 location / 块 |
docker exec ry-mes-font-service-1.1 cat /etc/nginx/conf.d/default.conf | grep -A 20 "location /" |
| 查看白名单区域(deny all 前) | docker exec ry-mes-font-service-1.1 cat /etc/nginx/conf.d/default.conf | grep -B 10 "deny all" |
| 搜索特定 IP 或网段 | docker exec ry-mes-font-service-1.1 cat /etc/nginx/conf.d/default.conf | grep "10.204.52." |
| 检查 Nginx 语法 | docker exec ry-mes-font-service-1.1 nginx -t |
| 平滑重载配置 | docker exec ry-mes-font-service-1.1 nginx -s reload |
nginx -s reload 不生效,请重启容器:docker restart <容器名>。grep -B 查看上下文,避免因搜索词不完整造成误判。.swp 残留,删除即可。本次操作最终成功为 Nginx 添加了所需的白名单规则,服务正常运行。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。