Also love the irony of getting an HN hug of death w/o Cloudflare
The bit I'm less bothered about is the centralising effect it has on the internet.
What do you mean? You definitely can serve with TLS end-to-end with CF, it's called Full (strict) mode, or something like that.
1. Good company starts, with good service and mission
2. Because company has good service and mission, company grows to control a majority of the market
3. Company realizes they can leverage their market for other means and sells their soul to the devil
4. People realize company is no longer good
5a. People leave company
-or-
5b. Company is now a monopoly and people can't leave
Sources: - Microsoft - Google - Others
> visit website
> mission accomplished
I wish life was that simple
I’d gladly jump ship if there was a competent competitor, even if paid… within reason.
0. Tune your kernel settings to prepare for attacks. Syn floods, connection exhaustion, junk packets, timeouts. Disable all open internet ports you don't need, disable icmp, etc.
1. If you want/need to use HTTP3 (may be more efficient depending on your traffic), install Nginx or Caddy as caching reverse proxies. Other tools don't have robust HTTP3 support yet (or so it seems?). Aggressively cache unauthenticated content, do not allow dynamic content through without authentication.
2. If you don't need HTTP3, install and configure HAproxy and Vinyl Cache. Both can help track and defend against traffic spikes and DDoS. HAproxy terminates the TLS as well as load baancing. It can be configured to track multiple metrics about the requests to efficiently identify and rate-limit connections and requests. Vinyl is an insanely fast cache, and includes an extra tool (Iocaine) which poisons DDoS requests with junk traffic at a slow rate. Aggressively cache unauthenticated content, do not allow dynamic content through without authentication.
3. If none of those are an option, use iptables rules to rate-limit any TCP network service. Below is an example of a tiered network rate-limit. You need to tune this to your specific situation: first performance-test your stack from a remote host, then change the limits here to be under your max limit. It won't help as much as caching, but you can combine it with the above solutions.
####### Tier 1: Aggressive per-IP limit on >50 new connections/sec per source IP
iptables -A INPUT -p tcp --dport 443 -m state --state NEW -m hashlimit --hashlimit-name https_t1 --hashlimit-upto 50/sec --hashlimit-burst 100 -m hashlimit ! --hashlimit-mode srcip -j DROP 2>/dev/null
####### Tier 2: Sustained per-IP limit on >10 conn/sec per source IP
iptables -A INPUT -p tcp --dport 443 -m state --state NEW -m hashlimit --hashlimit-name https_t2 --hashlimit-above 10/sec --hashlimit-burst 30 -m recent --name abusers --set -j DROP
####### Tier 3: Temporary blackhole with `recent`. IPs recorded as abusers are blocked for 60s on ANY packet (not just NEW)
iptables -I INPUT 1 -p tcp --dport 443 -m recent --name abusers --rcheck --seconds 60 --hitcount 1 -j DROP
####### Tier 4: Global ceiling with `limit`. Server-wide cap on 500 new conn/sec, bursts at 1000
iptables -A INPUT -p tcp --dport 443 -m state --state NEW -m limit --limit 500/sec --limit-burst 1000 -j ACCEPT
####### Tier 5: Anything NEW to 443 that got this far without matching ACCEPT is dropped
iptables -A INPUT -p tcp --dport 443 -m state --state NEW -j DROP
If you google around you can find more examples for more advanced DDOS-mitigation (https://github.com/scriptzteam/anti-DDoS-iptables, https://github.com/gamemann/XDP-Firewall, etc). A sufficiently large or advanced DDOS will require either a much more sophisticated detection/mitigation mechanism, or more bandwidth and processing power. If you can turn on more nodes on different internet backhauls, that's probably the simplest way to help lessen load.> Redirect or block "Cloudflare Warp" users from accessing your website. And provide a reason if you can.
come on, really? what does this achieve? only thing i can think of is trying to get the user off of WARP, but i can pretty confidently say that before doing that i'll just not use the website. or if i really care about the content i'll turn it off until i'm done and back on it goes
Just not the point you were trying to make.
I closed the tab after 1 minute of failing to load a readme.md.
" Ⓐnti-capitalist Free Software developer, trans rights are human rights, Black Lives Matter, abolish all prisons, 0xACAB "
People who have been around for awhile should probably remember the days when every DDoS site on the internet was hosted behind Cloudflare and CF was notoriously slow about responding to abuse complaints or helping them get to the actual hosts on the other side. Or when Matthew went on a whole thing about how he had a moral obligation to provide services to literal nazis.
Why? It's a deserved, obvious observation. If you're advocating a position but then demonstrate exactly the thing that counters your position, isn't that a worthwhile point? Of course everyone is going to point it out.
An HN front page simply isn't much traffic at all. It really isn't. The fact that so many sites still fall over is simply crazy in 2026. I don't even know how it's possible this is still such an issue. A Raspberry Pi 5 can host an HNing.
The site finally loaded for me, and seriously publishing content is such a ridiculous pattern. It's actually kind of funny that the whole site is falling over because someone decided to publish an opinion in a README, instead of putting it on an infinitely more appropriate static host (which can be built from that git).
Thanks for reminding me to flag the submission, though.
If I say I hate oversized trucks because one ran me over, my position is not countered by needing someone to deliver my couch.
When 99.999% of sites utilize Cloudflare for "traffic resilience", as a caching facade that even happens to be geolocated to clients for even more benefit, falling over on exactly that issue kind of obliterates the sales pitch. Every single reasonable person on the planet sees that.
It looks farcically silly, regardless of whatever points it makes or however much I agree with them (yes, CF centralization is bad, it's a company with a mixed history and a lot of bad, it basically has a monopoly now, etc). And yes, there are other CDNs and load balancers and solutions. But presumably someone pushing a position on this has the problem solved beforehand, no?
As to your poor analogy, it's more akin to saying that you hate trucks while trying to drag a couch seven miles from the store.
> As to your poor analogy, it's more akin to saying that you hate trucks while trying to drag a couch seven miles from the store.
Now that is a poor analogy. A website that functions 99.999% of the time but struggles under being frontpaged by HN is not akin to "dragging a couch seven miles from the store".
It actually doesn't matter what the linked site says about Cloudflare, which I made abundantly clear in my root post. People use Cloudflare for a given reason, and this site failed for exactly that reason, so when the root post whines and mopes about everyone pointing out the ironic failure of the site -- desperately clutching their pearls because people aren't getting in on their holy war -- well, it falls a little flat.
It makes for a very weak message. Nothing else matters if they couldn't show some fundamental, basic level of competency at precisely the thing that Cloudflare shines at.
Now I know you're going to post another asinine waste of bits about how in the linked site he said something or other, laughably demonstrate that you're just a weird zealot. Go nuts. I'm done with you.