最近 Cloudflare 玩的有点多。在使用了 CDN 后 caddy 日志里面 IP 就都变成CDN 的了。网上找了一下,但基本上都是 nginx的,好像没有看到关于 caddy 显示访客真实 IP 的文章,于是就折腾了这个。
1、安装 real IP 插件,这里使用的是caddy官方一键安装脚本。(就是 http.realip 这个插件。)
curl https://getcaddy.com | bash -s personal dns,http.cache,http.filter,http.git,http.ipfilter,http.realip
2、更改权限
chown root:root /usr/local/bin/caddy && chmod 755 /usr/local/bin/caddy
3、修改配置文件(一般是“/etc/caddy/Caddyfile”)。关键代码为下面 realip 部分,其他的可以根据自己的需要更改。
aaa.com {
root /var/www/typecho
log / /var/log/caddy/aaa_com.log "{remote} - {user} [{when}] {when_unix} \"{method} {uri} {proto}\" {status} {size} \"{>Referer}\" \"{>User-Agent}\""
tls mail@gmail.com
gzip
header / Strict-Transport-Security "max-age=31536000"
fastcgi / /run/php/php7.1-fpm.sock php
rewrite {
if {path} not_match ^\/admin
to {path} {path}/ /index.php?{query}
}
realip {
from 0.0.0.0/0
}
}
4、重新启动 caddy
systemctl restart caddy
5、现在就可以在 Caddy 的 log 处(例:/var/log/caddy/aaa_com.log)的第一列显示访客的真实 IP 了。
[secret]感谢分享,别人评论全是cdnip,
[/secret]
@感谢分享 客气了。OωO