| Hedgerules | Netlify | AWS Amplify | AWS S3 Websites | Azure Static Web Apps | Google Firebase Hosting | |
|---|---|---|---|---|---|---|
| Redirects file |
_hedge_redirects, see
Redirects.
|
_redirects | None | None |
staticwebapp.config.json's rewrite and redirect
rules
|
firebase.json's rules for
redirects and
rewrites.
|
| Other redirects methods | None | redirects section in netlify.toml |
|
|
None | None |
| Headers file |
_hedge_headers.json, see
Headers.
|
_headers | None | None |
staticwebapp.config.json's
global headers
and route headers
|
firebase.json's
headers rules
|
| Other headers methods | None | headers section in netlify.toml |
customHttp.yml |
|
None | None |
| Request path token in headers | {/path} |
None | None | None | None | None |
| Deployment methods |
hugo deploy && hedgerules deploy
|
git push
or
netlify deploy
|
git push,
then change redirects out of band
|
hugo deploy,
then change redirects/headers out of band
|
|
firebase deploy
or GitHub Actions
|
| User-Agent blocking | AWS WAF string match rules on CloudFront, ~$7/mo#, see AWS WAF docs. | Not available# | AWS WAF string match rules, ~$21/mo# | AWS WAF string match rules on CloudFront, ~$7/mo# | Azure Front Door WAF custom rules, ~$50/mo+# | Not available# |
| Country blocking |
|
Firewall Traffic Rules, limited on free/pro# | AWS WAF geo match rules, ~$21/mo# |
|
Azure Front Door WAF geo-filtering rules, ~$50/mo+# | Not available# |
| IP range blocking | AWS WAF IP set match rules on CloudFront, ~$7/mo#, see AWS WAF docs. | Firewall Traffic Rules, limited on free/pro# | AWS WAF IP set match rules, ~$21/mo# | AWS WAF IP set match rules on CloudFront, ~$7/mo# | Azure Front Door WAF IP restriction rules, ~$50/mo+# | Not available# |
| Referrer blocking |
AWS WAF string match rules on Referer header,
~$7/mo#
see AWS WAF docs.
|
Not available# |
AWS WAF
string match rules on Referer header,
~$21/mo#
|
AWS WAF
string match rules on Referer header,
~$7/mo#
|
Azure Front Door WAF
custom rules on Referer header,
~$50/mo+#
|
Not available# |
| Build failure emails | Via GitHub Actions notifications, free |
|
Via SNS notifications, free tier | No native build system, free if deployed with GitHub Actions | Via GitHub Actions notifications, free | Via GitHub Actions notifications, free |
| Historical access log analysis | AWS Athena, free#, see Athena access logs docs. |
|
AWS Athena, free# | AWS Athena, free# | Via Azure Front Door, $35/mo+.# | Cloud Logging, free# |
| Real-time logs |
|
Not available built-in. Log Drains forward to Datadog, Splunk, etc.; Enterprise only (custom pricing). | Not available. Access logs are delayed batch CSV downloads only. |
|
Not available. No traffic logs exist for the static serving layer#. | Cloud Logging, free# |
| Observability dashboards | CloudWatch dashboards, free# | Netlify Observability, free-$20/member/mo# | CloudWatch metrics in Amplify console, free# | CloudWatch dashboards + CloudFront built-in reports, free# | Azure Application Insights, free within 5 GB/mo#. API functions only; no static serving metrics. | Cloud Monitoring, free# |
S3 Websites can use CloudFront functions to implement custom logic for directory redirects, index rewrites, and custom headers.
This is the same functionality that Hedgerules uses under the hood.
The Athena feature is free, and log ingestion is free, but logs and Athena query results both incur storage costs on S3, and querying logs via Athena incurs execution costs.
Azure Front Door pricing varies depending on service level and traffic.
Application Insights monitors API function invocations only, not static content requests.
The Cloud Logging feature is free, and querying it is free, but log ingestion and storage incur costs after 50GB/mo.
AWS WAF a la carte pricing: $5/month per Web ACL + $1/month per rule + $0.60 per 1M requests. The CloudFront flat-rate Pro plan at $15/month includes 25 WAF rules with 10M requests/month.
AWS Amplify charges a $15/month firewall integration fee per app on top of standard AWS WAF charges ($5/month per Web ACL + $1/month per rule + $0.60 per 1M requests).
Netlify's Firewall Traffic Rules support IP and geo-based blocking but not User-Agent blocking. Free and Pro plans get a limited number of rules; full firewall capabilities require the Enterprise plan.
Azure Static Web Apps requires Azure Front Door as a separate service to use WAF. Approximate cost: $9/month for Static Web Apps Standard + Front Door base fee + ~$35/month for the WAF custom rules policy.
Firebase Hosting has no WAF, IP blocking, geo blocking, or User-Agent blocking. Cloud Armor cannot be attached to Firebase Hosting directly.
CloudFront's built-in geographic restrictions are free and require no code, but apply to the entire distribution and return a generic 403. WAF geo match rules are more flexible.
CloudWatch Logs pricing: log ingestion is free for the first 5 GB/month, then $0.50/GB. Log storage is $0.03/GB/month. At small traffic volumes a personal site's logs are well within the free tier.
CloudWatch dashboard pricing: the first 3 dashboards (up to 50 metrics each) are free. Additional dashboards cost $3/dashboard/month. CloudFront and Amplify metrics published to CloudWatch are free.
Netlify Observability is included with all plans at no extra charge. Data retention varies by plan: 24 hours on Free ($0) and Personal ($9/mo), 7 days on Pro ($20/member/mo), 30 days on Enterprise. Raw log streaming via Log Drains requires an Enterprise plan (custom pricing).
CloudFront Real-Time Logs cost $0.01 per million log lines from CloudFront, but the dominant cost is Kinesis Data Streams, which charges per shard-hour (~$0.015/hr, ~$10.80/mo per shard) plus $0.014 per million records. Even a minimally-provisioned stream costs ~$10-12/mo, making this impractical for small sites.
Azure Static Web Apps has no traffic logs for the static serving layer regardless of plan. This is a long-standing open issue. Application Insights is available but only captures API function invocations, not CDN-served static file requests.
Azure Application Insights pricing: the first 5 GB/month of data ingestion is free, then ~$2.30-2.76/GB depending on region. Default retention is 90 days at no extra charge. Note this only covers API function telemetry, not static content traffic.