55 lines
2.9 KiB
Markdown
55 lines
2.9 KiB
Markdown
---
|
|
title: 解决长亭雷池WAF tengine容器 无限重启的问题
|
|
tags:
|
|
- linux
|
|
- Safeline WAF
|
|
- IPv6
|
|
categories:
|
|
- 学习笔记
|
|
index_img: /img/2024/safeline-waf-tengine/CF752E194B1FF5AA96EC2CFD9A59C18B.webp
|
|
banner_img: /img/2024/safeline-waf-tengine/CF752E194B1FF5AA96EC2CFD9A59C18B.webp
|
|
permalink: /articles/2024/safeline-waf-tengine/index.html
|
|
date: 2024-10-07 10:00:55
|
|
---
|
|
最近在折腾虚拟机的时候,把安装了雷池WAF的虚拟机重启了一下,结果重启后发现套了雷池网站全部502了
|
|
根据之前折腾 Harbor 的经验,这大概率是哪个容器启动不正常了,看了一下,果然,tengine容器在不断的重启,同样根据之前折腾 Harbor 的经验,这种情况手动把容器停止然后开启就行,如果不行就把所有的容器一起重启一下一般就好了,但是这次没有成功,做完后 tengine容器 还是在不断重启
|
|
于是我去雷池文档里搜了一下,找到了一个[解决方案](https://docs.waf-ce.chaitin.cn/zh/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98%E6%8E%92%E6%9F%A5),下面是原文:
|
|
|
|
*问题表现:重启或升级后编辑任何站点配置都报错,后台 tengine 一直在重启。*
|
|
*一般原因是 tengine 配置在当前设备环境上不合法,导致 tengine 无法以原配置启动,例如重启过程中网站端口被其他进程所占用、网站 dns 配置异常导致解析不到 IP 等。*
|
|
*解决方案:可以通过查看 tengine 容器的日志,排查问题,也可以使用安装目录下的 reset_tengine.sh 脚本重置 tengine 容器配置。*
|
|
```
|
|
# 执行时间根据网站数量和配置情况而定, 请耐心等待
|
|
cd /data/safeline && bash reset_tengine.sh
|
|
```
|
|
*执行成功后会有如下输出,此时可以尝试重新编辑站点配置,观察是否正常。*
|
|
```
|
|
[SafeLine] 是否重新生成 tengine 的所有配置 (Y/n)
|
|
重新生成 tengine 配置完成
|
|
```
|
|
|
|
### 老阴逼
|
|
然而按照官方文档的说明执行后并无卵用,等了好久都不见成功,于是去看了 tengine 容器的日志,发现了这一行:
|
|
```log
|
|
nginx: [emerg] invalid IPv6 address in resolver "[fe80::1%eth0]" in /etc/nginx/nginx.conf:132
|
|
```
|
|
里面有一个熟悉的东西`fe80::1%eth0`,安装雷池的时候就报过提醒,这种格式的 Nameserver 配置不合法,我也改了,不过雷池安装脚本也没有提醒这玩意重启之后会重置为默认值
|
|
**解决方案**:
|
|
1. 安装 `resolvconf`
|
|
```shell
|
|
sudo apt-get install resolvconf
|
|
```
|
|
|
|
1. 创建一个包含所需 DNS 服务器的头文件,例如:
|
|
```shell
|
|
sudo sh -c 'echo "nameserver 223.5.5.5" > /etc/resolvconf/resolv.conf.d/head'
|
|
sudo sh -c 'echo "nameserver 223.6.6.6" >> /etc/resolvconf/resolv.conf.d/head'
|
|
```
|
|
|
|
1. 更新 `/etc/resolv.conf`
|
|
```shell
|
|
sudo resolvconf -u
|
|
```
|
|
|
|
### 参考资料
|
|
[常见问题排查 | 雷池 SafeLine](https://docs.waf-ce.chaitin.cn/zh/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98%E6%8E%92%E6%9F%A5) |