-
Notifications
You must be signed in to change notification settings - Fork 166
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Experiment with Node.js Website Traffic on Vercel #3366
Comments
I guess here are some docs: https://vercel.com/guides/using-cloudflare-with-vercel |
Pretty much: Set the target on your CNAME to |
Oh, it looks like it solved by itself, @targos when I added it on |
Updated the cname to |
@jasnell if you can help us out here 🤔 |
cc @richardlau let me know once you have updates :) |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
Hmm @richardlau I see that the redirects would work as long as the "vercel" website is not on the main domain (nodejs.org) As I can see that it is redirecting https://vercel.nodejs.org to -> nodejs.org Afaik the intent is that for anything from X routes it goes to one server and the others would go to another server. |
Pretty much the desired final behaviour is that:
But the hand-off from one origin to another would need to be transparent, without actual 301 redirects I think. (Like a Reverse Proxy)... cc @jasnell if you know how we can do this |
Yes, I don't know how to get the desired final behaviour without redirects and/or subdomains. At least via the various rules (Page, Redirect, Bulk Redirect) available to us in Cloudflare. |
As I wrote above, there seems to be a Page Rules feature: https://developers.cloudflare.com/support/page-rules/using-resolve-override-in-page-rules/ |
FYI: Our Cloudflare instance got upgraded to Enterprise. |
After chatting with @targos here's the outlined plan:
After this test goes successful, we can present the outcome to the TSC. |
I'm kind of confused here. Downloads should remain with the https://nodejs.org/ URLs. |
They will remain. I guess the confusion here is that |
The URLs wouldn't change. This would just be a hidden level of indirection:
|
I think this will make the mental model easier to understand. And in the future, |
Does this break the load balancer we have set up for nodejs.org (Traffic -> Load balancing)? |
FWIW Cloudflare has been mostly serving requests over the weekend from our Equinix Metal server and not the DO one. |
Yeah, I noticed that now, but, afaik, I don't think so. The whole Edit: Cloudflare team updated us and Load Balancers are respected. |
We will probably need to update (or copy) the load balancer config, as it currently applies to the host name "nodejs.org". |
All changes got applied by @richardlau. |
This can be marked as done. We concluded the migration steps. Below is a summary of the steps taken today with @UlisesGascon:
We've monitored traffic and tested common and edge scenario paths and everything seems to be working fine. |
Also, a note that the Webhook on So this should also solve some of our current traffic pains. |
Today we had a little incident, since Cloudflare was caching Vercel-paths, because we forgot Cloudflare's default behaviour is to cache everything. This led to one of the Website rebuilds to Cloudflare to cache This led to: nodejs/nodejs.org#5568 We've fixed this by forcefully telling Cloudflare to not cache Vercel paths as Vercel requests should be served directly by Vercel at all times. The Cache Rule we configured is as shown below: |
Hey you all 👋 as our ongoing efforts to improve the reliability and performance of the Website. The
nodejs.org
website codebase reached maturity for us to start the cutoff tests for serving the Website related routes through Vercel.Useful Information
https://node-js-org.vercel.app
https://vercel.nodejs.org
Important Notes
/dist
/download
/docs
/api
/documentation
/metrics
/github-webhook.log
/traffic-manager
Miscellaneous Information
api/
should be served by the website, as the latest API docs will be served and built directly from the website repository. But that's a topic for another time.The text was updated successfully, but these errors were encountered: