Ask HN: Has anybody had luck making Webflow work behind Cloudflare?

5 points by willhackett ↗ HN
We're proxying traffic to Webflow via Cloudflare Workers so we can do custom routing for our product. Webflow is used in our stack for marketing content.

Webflow wants us to be on Enterprise to get this "Reverse Proxy as a Service" feature. This costs $50k minimum per annum.

Has anybody had any luck in getting Webflow to work consistently behind Cloudflare? We've got it semi-working, but get the occasional HTTP 406 for a few hours every now and then when they block Cloudflare's IP range.

9 comments

[ 371 ms ] story [ 1693 ms ] thread
Would you mind explaining a little more? You’re trying to get a subpath (let’s say /about) proxied through from your main site right?

Does your site change so fast that punishing it then hosting it yourself doesn’t work?

I'm leaning towards self-hosting on this occasion, but Webflow does this funny thing where it doesn't let you self-host collections (like Blog posts).
Oh that's weird -- that's on the CMS side correct? So it would be more like trying to get data exported from the CMS?
A bit more context too. Webflow just makes it easy to update marketing content.

We have stuff on domain.etc/xxxxxxxxxx which is part of our application, everything else goes to the Webflow site which is our homepage.

Webflow forces you to use their hosting solution if you want to manage things like collections. There's sadly no way for us to just self-host the static content which would be preferred.

Thanks for the context, am I understanding right that Webflow isn't letting you route that subpath without paying the obscene amount of money, so you put a proxy in front (Cloudflare) instead.

I know this is a pretty silly suggestion and an attrocious hack, but with webflow already at the root, would a full page iframe on /xxxxxxx work?

And clearly going to just `app.domain.etc` was a non-starter?

Use proxy.webflow.com for your cname if you face a redirect loop (though I’m thinking that’s not your problem after re-reading it)

Can you cache the requests more aggressively?

I don't use it behind Cloudflare, but I was able to get Nginx reverse-proxying traffic to Webflow. Here's part of that config:

  upstream webflow {
    server proxy-ssl.webflow.com:443;
  }

  location @webflow {
    resolver <some DNS server here>;
    proxy_pass https://webflow;

    proxy_set_header Host $webflow_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $corrected_proxy_scheme;

    proxy_ssl_verify off;
    proxy_ssl_session_reuse on;
    proxy_ssl_server_name on;
    proxy_ssl_name $webflow_host;
  }
Elsewhere (a Lua script), I set the $webflow_host variable and URI for the request, which is exec-ed from that Lua script (which is basically an internal redirect to the @webflow location block).
I have - but did so by putting a Cloud Run nginx proxy between Cloudflare and Webflow.

I haven't had issues with Cloudflare blocking IPs - however the site in question is rather low traffic, so we probably don't pop up on their list.

Main reason for doing this was having routing control. We also had a long list of redirects to manage from an old site, and it was easier to do this in an nginx config.