2026-05-15 05:41:16 -07:00
<!DOCTYPE html>
2026-05-15 05:48:14 -07:00
<!--
Served by HAProxy via `lf - file` on Coraza WAF deny.
IMPORTANT: HAProxy's lf - file expansion treats `%` as the start of a
log - format expression. Literal percent signs (CSS 100%, gradient stops,
url - encoded data, etc.) MUST be doubled as `%%` or HAProxy will silently
swallow them. Expressions like `%[unique - id]` / `%[req.hdr(host)]` stay
single - `%` — those are the substitutions we want.
-->
2026-05-15 05:41:16 -07:00
< html lang = "en" >
< head >
< meta charset = "utf-8" >
< meta name = "viewport" content = "width=device-width, initial-scale=1" >
< meta name = "robots" content = "noindex, nofollow" >
< title > Request blocked · %[req.hdr(host)]< / title >
< style >
* , * :: before , * :: after { box-sizing : border-box ; }
2026-05-15 05:48:14 -07:00
html , body { margin : 0 ; padding : 0 ; height : 100 % % ; }
2026-05-15 05:41:16 -07:00
body {
font-family : - apple-system , BlinkMacSystemFont , "Segoe UI" , Roboto , "Helvetica Neue" , Arial , sans-serif ;
color : #1f2937 ;
2026-05-15 05:48:14 -07:00
background : linear-gradient ( 135 deg , #f9fafb 0 % % , #eef2f7 100 % % ) ;
2026-05-15 05:41:16 -07:00
display : flex ;
align-items : center ;
justify-content : center ;
padding : 24 px ;
line-height : 1.5 ;
}
. card {
background : #fff ;
border-radius : 12 px ;
box-shadow : 0 1 px 3 px rgba ( 0 , 0 , 0 , 0.05 ) , 0 12 px 32 px rgba ( 31 , 41 , 55 , 0.08 ) ;
max-width : 560 px ;
2026-05-15 05:48:14 -07:00
width : 100 % % ;
2026-05-15 05:41:16 -07:00
padding : 36 px 40 px ;
}
. badge {
display : inline-block ;
background : #fef3c7 ;
color : #92400e ;
font-size : 12 px ;
font-weight : 600 ;
letter-spacing : 0.04 em ;
text-transform : uppercase ;
padding : 4 px 10 px ;
border-radius : 999 px ;
margin-bottom : 16 px ;
}
h1 { font-size : 22 px ; margin : 0 0 12 px ; color : #111827 ; }
p { margin : 0 0 14 px ; color : #374151 ; }
. ref {
background : #f3f4f6 ;
border : 1 px solid #e5e7eb ;
border-radius : 6 px ;
padding : 12 px 14 px ;
margin : 20 px 0 ;
font-family : ui-monospace , "SF Mono" , Menlo , Consolas , monospace ;
font-size : 13 px ;
color : #111827 ;
word-break : break-all ;
}
. ref-label {
display : block ;
color : #6b7280 ;
font-size : 11 px ;
font-weight : 600 ;
letter-spacing : 0.05 em ;
text-transform : uppercase ;
margin-bottom : 4 px ;
font-family : inherit ;
}
. owner {
border-top : 1 px solid #e5e7eb ;
margin-top : 24 px ;
padding-top : 20 px ;
color : #4b5563 ;
font-size : 14 px ;
}
. owner h2 { font-size : 14 px ; font-weight : 600 ; color : #111827 ; margin : 0 0 8 px ; }
a {
color : #1d4ed8 ;
text-decoration : none ;
border-bottom : 1 px solid transparent ;
}
a : hover , a : focus { border-bottom-color : #1d4ed8 ; }
. small { font-size : 12 px ; color : #6b7280 ; margin-top : 16 px ; }
< / style >
< / head >
< body >
< main class = "card" role = "main" >
< span class = "badge" > Access blocked< / span >
< h1 > Your request was blocked by our security filter< / h1 >
< p > The request to < strong > %[req.hdr(host)]< / strong > looked suspicious to our web application firewall and was not delivered to the site.< / p >
< p > This is automated. No one has reviewed the request yet.< / p >
< div class = "ref" >
< span class = "ref-label" > Request reference< / span >
%[unique-id]
< / div >
< div class = "owner" >
< h2 > Site owner?< / h2 >
< p > If you operate this site and believe this block is incorrect, please < a href = "https://support.example.com/submitticket.php" rel = "noopener" > open a support ticket< / a > and include the request reference above. Our team can look up exactly which rule fired and adjust it if it's a false positive.< / p >
< / div >
< p class = "small" > Reference IDs expire from our active logs after 14 days, so please open a ticket promptly if you'd like this investigated.< / p >
< / main >
< / body >
< / html >