Webflow sync, pageviews & more.
NEW

How can I host an AASA JSON file on my Webflow website for iOS Universal links?

TL;DR
  • Host the AASA JSON file externally and use a reverse proxy or Cloudflare Worker to serve it at https://yourdomain.com/.well-known/apple-app-site-association with application/json content type and no redirects.
  • Ensure the file is properly formatted, uncompressed, and accessible via HTTPS at the required path to enable iOS Universal Links for Webflow sites.

To enable iOS Universal Links, you need to host an Apple App Site Association (AASA) JSON file at a specific location: https://yourdomain.com/.well-known/apple-app-site-association. Webflow doesn’t support placing files directly at the root or in .well-known/ directories via its internal asset manager, so an alternate method is required.

1. Use an External Hosting Service for the AASA File

  • Host your AASA file externally using a service like Amazon S3, Firebase Hosting, or GitHub Pages.
  • Configure a reverse proxy or subdomain redirect to make the file accessible at the required path.
  • The file must be served from the domain (not a subdomain) over HTTPS, with the Content-Type set as application/json.

2. Use a Reverse Proxy with Cloudflare

If you’re using Cloudflare, follow these steps:

  • Set up Workers to serve a static AASA file at https://yourdomain.com/.well-known/apple-app-site-association.
  • In Cloudflare → Workers, create a new Worker script to respond with the JSON content when the request path matches /.well-known/apple-app-site-association.
  • Bind that worker to your route.

Example Worker route (must be configured in Cloudflare dashboard):
yourdomain.com/.well-known/apple-app-site-association

Set the worker to:

  • Return the AASA JSON.
  • Set appropriate headers: Content-Type: application/json, no redirects, and no file extension (must not be .json in URL).

This approach keeps the experience integrated with your main domain.

3. Verify iOS Requirements

  • Ensure the AASA file is properly formatted and uncompressed.
  • Serve via https:// at the exact path: /.well-known/apple-app-site-association.
  • The Content-Type must be application/json, not text/plain.

Apple will check for this file during universal link validation, so it’s critical that it loads correctly without redirects.

4. Test the File

Use Apple’s command-line test:

curl -I https://yourdomain.com/.well-known/apple-app-site-association

Check for:

  • 200 OK response.
  • Content-Type: application/json
  • No redirect (especially to a URL with .json extension or another domain).

Summary

Webflow doesn’t support hosting the AASA file directly, so you must use a proxy (e.g., Cloudflare Workers) to serve the AASA JSON file at /.well-known/apple-app-site-association. This maintains Apple’s strict requirements and makes iOS Universal Links functional with a Webflow-hosted site.

Rate this answer

Other Webflow Questions