1. Caddy version (caddy version
):
v2.5.1 h1:bAWwslD1jNeCzDa+jDCNwb8M3UJ2tPa8UZFFzPVmGKs=
2. How I run Caddy:
a. System environment:
Debian 11
b. Command:
/usr/bin/caddy run --environ --config /etc/caddy/Caddyfile
c. Service/unit/compose file:
[Unit]
Description=Caddy
Documentation=https://caddyserver.com/docs/
After=network.target network-online.target
Requires=network-online.target
[Service]
Type=notify
User=caddy
Group=caddy
ExecStart=/usr/bin/caddy run --environ --config /etc/caddy/Caddyfile
ExecReload=/usr/bin/caddy reload --config /etc/caddy/Caddyfile
TimeoutStopSec=5s
LimitNOFILE=1048576
LimitNPROC=512
PrivateTmp=true
ProtectSystem=full
AmbientCapabilities=CAP_NET_BIND_SERVICE
[Install]
WantedBy=multi-user.target
d. My complete Caddyfile or JSON config:
emby.blueseacdn.com {
reverse_proxy localhost:8096
@mygeofilter {
maxmind_geolocation {
db_path "/usr/share/GeoIP/GeoLite2-City.mmdb"
allow_countries CN TW JP KR SG IN RU NZ MY
allow_subdivisions UA-43
}
}
}
3. The problem I’m having:
I want to block some spammy bots and some browsers with ad blocking based on User-agent.
when i use:
redir {
if_op or
if {>User-agent} has 360
if {>User-agent} has MicroMessenger
if {>User-agent} has QQBrowser
if {>User-agent} has BIDUBrowser
if {>User-agent} has Maxthon
if {>User-agent} has MetaSr
if {>User-agent} has LBBROWSER
if {>User-agent} has UBrowser
/ https://www.baidu.com/search/error.html
}
These don’t seem to work in V2, this is the only similar tutorial I can find in the Chinese internet, how should it be configured in V2? The example will redirect to the page of baidu.com, I think it may be better if the 444 code can be returned directly.
4. Error messages and/or full log output:
5. What I already tried:
redir {
if_op or
if {>User-agent} has 360
if {>User-agent} has MicroMessenger
if {>User-agent} has QQBrowser
if {>User-agent} has BIDUBrowser
if {>User-agent} has Maxthon
if {>User-agent} has MetaSr
if {>User-agent} has LBBROWSER
if {>User-agent} has UBrowser
/ https://www.baidu.com/search/error.html
}