Squid测试配置文件中的语法错误

时间:2020-01-09 10:43:44  来源:igfitidea点击:

我在Ubuntu 20.04 LTS上安装了Squid Proxy服务器。
如何确保我的squid.conf文件没有语法错误,并且测试配置文件是否存在错误?
无论在何处更改或者更新了Squid代理服务器,都应验证squid.conf文件没有错误。
这是一个容易的任务。
要检查squid.conf文件中是否有语法错误和警告,请执行以下命令。

测试或者检查您的Squid代理服务器配置文件中是否有错误

打开终端窗口,然后执行以下命令。
对于使用ssh命令登录的远程Linux和Unix服务器:

$ ssh [email protected]

现在以root用户身份运行以下命令:

# squid -k parse
## OR use full path ##
$ sudo /usr/sbin/squid3 -k parse
## Filter out error using the grep command/egrep command ##
# squid -k parse | grep 'error'
# squid -k parse | egrep 'foo|bar'

当我们执行Squid检查配置文件中的语法错误时报告的错误示例

# squid -k parse
2020/08/08 08:21:07| Processing: viaproxy off
2020/08/08 08:21:07| /etc/squid/squid.conf:40 unrecognized: 'viaproxy'

编辑配置文件并修复该错误:

# vim +40 /etc/squid/squid.conf

找:

viaproxy off

用。


来代替:

via off

保存并关闭文件。
现在再次测试:

# squid -k parse

现在,我们可以重新加载我们的Squid代理服务器,而无需重新启动squid守护进程,如下所示:

# squid -k reconfigure

如何语法检查Squid配置文件

每当更改代理服务器的配置时,最好运行" squid -k parse"和" squid -k debug"命令来检查配置语法错误。
请注意,如果Squid检测到错误,则拒绝启动。
因此,我们需要确保服务器重启以进行内核更新时没有错误。
如果存在错误,Squid将保持关闭状态,直到sysadmin修复语法错误为止。

其他有用的Squid代理选项

语法为:

# squid -k command

或者

$ sudo squid -k command

其中command可以是以下任意一项:

  • reconfigure:向Squid发送HUP信号以重新读取其配置文件。
  • rotate:旋转日志文件。
  • shutdown:向squid发送一个TERM信号,以短暂等待当前连接完成,然后关闭服务器。在squid.conf文件中,使用shutdown_lifetime选项指定了等待时间。
  • restart:重启服务器
  • interrupt:向squid服务器发送一个INT信号。它立即关闭,无需等待当前连接。
  • kill:通过发送KILL信号杀死代理服务器。
  • debug:以完全调试模式运行squid。
  • check:将零信号发送到Squid服务器。这只是检查服务器/进程是否确实在Linux/Unix/BSD机器上运行。
  • parse:解析squid.conf文件中的语法错误。