我最近设置了 fail2ban 以使用我的自定义 nginx 日志记录格式(称为“main”),我将所有站点的日志记录到不同的 *.access.log 文件中。我仍然必须更改 ^access.log 中的默认格式,因此我在 nginx 配置中添加了另一个 server{} 块,如下所示:
server {
listen 80 default_server;
...
access_log logs/access.log main;
error_log logs/error.log;
}
一切似乎都按预期运行,但有时我仍然可以在 ^access.log 文件中看到默认日志格式。我使用 grep 过滤了所有这些文件,似乎它们都获得了 301 状态代码,我在所有网站上都有一个自定义脚本,即:
# check if connecting to http
if ($scheme = "http") {
# if yes, set $temp_cache to 1, if no stays at undefined
set $temp_cache 1;
}
# check if address is website.com/.well-known/acme-challenge/*
if ($request_uri ~ ^/.well-known/acme-challenge/(.+)$) {
# if yes, set $temp_cache to 11, if no stays at 1
set $temp_cache 2$temp_cache;
}
# check if $temp_cache is 1
if ($temp_cache = 1) {
# if yes, change http to https
return 301 https://$host$request_uri;
}
我认为这可能是原因,因为没有其他配置行可以使用 301 重定向用户。
任何帮助都值得感激!