Installation URLRewriting mod_rewrite

mod_proxy Examples

Load balanced cluster example which only proxies CFML files:

ProxyPreserveHost On
ProxyPassReverse / balancer://tom_cluster/
RewriteEngine On
# uncomment below RewriteCond for "verify file exists" functionality:
#RewriteCond %{DOCUMENT_ROOT}/$1 -f
# Proxy CFML requests (barring the admin) to Tomcat:
RewriteCond %{REQUEST_fileNAME} !^\/lucee/admin.*
RewriteRule ^/(.*\.cf[cm]l?)(/.*)?$ balancer://tom_cluster/$1$2 [P]

Security Related Rewrites

Security rewrites (used to block unwanted traffic). Builds on above example to optionally capture these requests to a cfml page, otherwise /security-violation.htm should resolve to something:

RewriteEngine on
RewriteRule .*NVARCHAR.* /security-violation.htm [NC]
RewriteRule .*DECLARE.* /security-violation.htm [NC]
RewriteRule .*INSERT.* /security-violation.htm [NC]
RewriteRule .*xp_.* /security-violation.htm [NC]
RewriteRule .*@.* /security-violation.htm [NC]
RewriteRule .*’;* /security-violation.htm [NC]
RewriteRule .*EXEC\(@.* /security-violation.htm [NC]
RewriteRule .*sp_password.* /security-violation.htm [NC]
RewriteRule /security-violation.htm /security-violation.cfm [L]

RewriteCond %{QUERY_STRING} .*http:\/\/.* [NC] RewriteRule .* /security-violation.htm RewriteCond %{QUERY_STRING} .*sp_password.* [NC] RewriteRule .* /security-violation.htm RewriteCond %{QUERY_STRING} .*@@.* [NC] RewriteRule .* /security-violation.htm RewriteCond %{QUERY_STRING} .*'.* [NC]RewriteRule .* /security-violation.htm RewriteCond %{QUERY_STRING} .*CHAR\(.* [NC] RewriteRule .* /security-violation.htm RewriteCond %{QUERY_STRING} .*CAST\(.* [NC] RewriteRule .* /security-violation.htm RewriteCond %{QUERY_STRING} .*EXEC\(@.* [NC] RewriteRule .* /security-violation.htm RewriteCond %{QUERY_STRING} .*DECLARE.* [NC] RewriteRule .* /security-violation.htm
uncomment to use the specified cfm pageRewriteRule /security-violation.htm balancer://tom_cluster/security-violation.cfm [P,L]
RewriteCond %{REQUEST_METHOD} ^(delete|head|trace|track) [NC] RewriteRule ^(.*)$ - [F,L]
RewriteCond %{HTTP_COOKIE} ^.*(<|>|'|%0A|%0D|%27|%3C|%3E|%00).* [NC] RewriteRule ^(.*)$ - [F,L]
RewriteCond %{HTTP_USER_AGENT} ^$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*(<|>|'|%0A|%0D|%27|%3C|%3E|%00).* [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^.*(HTTrack|clshttp|archiver|loader|email|nikto|miner|python).* [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^.*(winhttp|libwww\-perl|curl|wget|harvest|scan|grab|extract).* [NC] RewriteRule ^(.*)$ - [F,L]
RewriteCond %{HTTP_REFERER} ^(.*)(<|>|'|%0A|%0D|%27|%3C|%3E|%00).* [NC,OR] RewriteCond %{HTTP_REFERER} ^http://(www\.)?.*(-|.)?adult(-|.).*$ [NC,OR] RewriteCond %{HTTP_REFERER} ^http://(www\.)?.*(-|.)?poker(-|.).*$ [NC,OR] RewriteCond %{HTTP_REFERER} ^http://(www\.)?.*(-|.)?drugs(-|.).*$ [NC] RewriteRule ^(.*)$ - [F,L]