Hacker Newsnew | past | comments | ask | show | jobs | submit | shishcat's commentslogin

The issue tracker seems kinda dead... for the rest, it's a good provider

I agree with this dicussion, AI should be used for improving, researching, and as he says, do something useful that changes the outcomes of people and communities and countries and industries. BUT IT'S SATYA NADELLA SAYING IT! The person whose company owns Copilot, Copilot in Bing, Copilot for Word, Copilot for Dynamics 365 Supply Chain...

With all this useless slop, he’s literally arguing against his own point.


This behavior only works when the reverse proxy or CDN is configured like this:

Proxy/CDN: HTTPS (443) → Origin server: plain HTTP (80)

(example: Cloudflare in Flexible mode)

If the origin server uses any proper TLS configuration, even a self-signed certificate, this method stops working. It only succeeds when the upstream connection to the origin is unsecured.

If you want to test this on a random site without Cloudflare or reverse proxy in general on HTTP: curl http://www.digiboy.ir/boobs.jpg -v


Ah, Cloudflare. The world's most widely deployed encryption remover.


Could someone help me understand. I looked at: https://developers.cloudflare.com/ssl/origin-configuration/s... it seems to support multiple modes.

I didn't quite get if Automatic TLS (https://developers.cloudflare.com/ssl/origin-configuration/s...) could use plain transfers.

So:

* Is it insecure by default or you have to be intentionally insecure?

* Why would anyone pick the flexible/potentially-insecure option?


> Why would anyone pick the flexible/potentially-insecure option?

Because having a connection that's encrypted between a user and Cloudflare, then unencrypted between Cloudflare and your server is often better than unencrypted all the way. Sketchy ISPs could insert/replace ads, and anyone hosting a free wifi hotspot could learn things your users wouldn't want them to know (e.g. their address if they order a delivery).

Setting up TLS properly on your server is harder than using Cloudflare (disclaimer: I have not used Cloudflare, though I have sorted out a certificate for an https server).

The problem is that users can't tell if their connection is encrypted all the way to your server. Visiting an https url might lead someone to assume that no-one can eavesdrop on their connection by tapping a cross-ocean cable (TLS can deliver this property). Cloudflare breaks that assumption.

Cloudflare's marketing on this is deceptive: https://www.cloudflare.com/application-services/products/ssl... says "TLS ensures data passing between users and servers is encrypted". This is true, but the servers it's talking about are Cloudflare's, not the website owner's.

Going through to "compare plans", the description of "Universal SSL Certificate" says "If you do not currently use SSL, Cloudflare can provide you with SSL capabilities — no configuration required." This could mislead users and server operators into thinking that they are more secure than they actually are. You cannot get the full benefits of TLS without a private key on your web server.

Despite this, I would guess that Cloudflare's "encryption remover" improves security compared to a world where Cloudflare did not offer this. I might feel differently about this if I knew more about people who interact with traffic between Cloudflare's servers and the servers of Cloudflare's customers.


> Setting up TLS properly on your server is harder than using Cloudflare

This is probably technically true, but setting up TLS properly on your server is really ridiculously simple.


These days, absolutely... I usually use Caddy for reverse proxy chores and it's been a great option to deal with. Traefic hasn't been bad either.


...in 2025

Let's encrypt and ACME hasn't always been available. Lots of companies also use appliances for the reverse proxy/Ingress.

If they don't support ACME, it's actually quite the chore to do - at least it was the last time I had to before acme was a thing (which is admittedly over 10 yrs ago)


Historically?

1. Because TLS certificates were not free

2. Because firewall was "enough" in most people's minds

3. Because TLS was the most CPU intensive part of serving a static site

4. Because some people were using cheap shared hosting providers that upcharged for TLS


> * Why would anyone pick the flexible/potentially-insecure option?

I pick it whenever I don't want to setup HTTPS on my origin but still want HTTPS. Just for projects where I really don't care.


Is it really that different than AWS? You either trust your service provider or you don't.


AWS doesn't route requests from their load balancer to your server across the public internet. Cloudflare does.


You can do that with AWS if you really want to.

It will cost you a ton.


EU should simply do the global surveillance quietly on cloudflare, instead of asking all the countries for the law

</Irony>


To be fair, Cloudflare is also the reason why most sites even have TLS at all, because it offered free certs (through letsencrypt I think?) in a fairly easy to set up way.

Certs used to be expensive, and had way more operational overhead and quirks (even setting up ACME/LE)


Absolutely not, no. That is all thanks to Let's Encrypt.


This was true before Let's Encrypt existed, they'd buy massive 500 domain wildcard SSL certs that free users would split.


Let's Encrypt is unusable for me because they want you to install that certbot thing. I don't know what that is or what it does. I don't want some magical auto update thing. Is it so hard to just make a generate button that gives you cert.pem and pkey.pem? Cloudflare managed to do it.


Let's encrypt supports ACME. Here are hundreds of ways to obtain a certificate:

https://letsencrypt.org/docs/client-options/#other-client-op...


Right, DoctorOW correct me; I have limited memory about the state of affairs from a decade ago. They offered free certs for a long time regardless of LE integration


Cloudflare has native integration with Let's encrypt, which makes using TLS with a CDN much easier than if you had to acquire the ACME cert and deploy it to the CDN yourself.

Granted, most CDNs these days have some form of free certicate system, but that wasn't always the case.


People on this website will just type any wild lie. I kinda love it.

The sky is purple! Charlie Brown had hoes! Cloudflare invented Let's Encrypt! Just say anything you want! We live in a post-truth world- there's no need for anything you say to correspond to any external reality!


I'm pretty sure Lincoln said that first...


Congrats! You get it!


> this website

you must be new to the internet...


I never said Cloudflare was behind Let's Encrypt… Did I? Probably just a misunderstanding.

Someone l pointed out I mixed up my timeline a bit because this was over a decade ago, but it turns out CF offered free certs even earlier than LE :)

So, while i got the details wrong, I still stand behind what I say: most sites on the web even have TLS enabled because CF offers it for free. I'm not talking about the reverse proxy aspect, but from the UA's perspective


I'm not going to give them credit for the work that Lets Encrypt did.


I agree, Let’s encrypt and ACME played a massive role. But it’s still far easier having Cloudflare handle TLS encryption for you.

And i say this as someone who uses ACME in certmanager and certbot at home and still prefers the ease with which Cloudflare generates a cert for my domain and terminates TLS for the public side of my cloudflare tunnel.


For my home stuff I just use nginx-proxy-manager and haven't thought about it since I set it up a couple of years ago.

For work, I used to use certbot directly at my old place. Now I am building my new stuff on k8s, and I have the ingress manage my certs for me (likely using certbot or similar behind the scenes). Both have been extremely low setup effort and no ongoing effort.

I don't like giving Cloudflare my (or my companies/customers) data in exchange for being able to click a checkbox.


Lets Encrypt can proxy my old http only website to show as https? Without access to server configuration? How?


With nginx-proxy-manager which uses Let's Encrypt for certs you can... This isn't the gotcha you think it is.


I don't have access to the server.


It can be run anywhere. You don't need it on the same server. Cloudflare isn't running on the same server either.


Cloudflare is a checkbox.


And you only let them see every bit of traffic to and from your site in exchange.

What a deal.

You changed the subject btw.


I didn't. I said that Cloudflare is the one that allowed my http only site to become https.


My bad! I slightly confused my timeline. CF offered free certs long before LE!


[flagged]


Are we witch hunting Cloudflare now? What have they done? I think overall CF seems like a pretty decent company? Lol I'm a bit out of the loop it seems.

Also what mis-information (other than the claiming CF integrated with LE, but it turns out CF offered free certs before LE even existed lol) did I spread?


I don't think this is true... a reverse proxy/CDN can see the full request URL even if the origin server is using TLS (unless you're using mTLS, which almost nobody is), and we don't even know if it's the proxy/CDN or the origin that is filtering based on keywords... but all of them could be doing it.


It'll also work DigiNotar-style, when using the only root CA blessed by the National Information Network for general use: I.R. Iran.


Interesting. I was just setting up a LB like this: client ->LB(nginx) ->TLS terminate for LB conn -> proxy_pass to backend which is behind nginx and has separate TLS certs. it's surprisingly easy to configure. Wonder why people still use HTTP at all. Even at home, I have setup LE certs for all local domains

On a side note, nginx doesn't support HTTP/2 for https load balancing so I am thinking of switching to haproxy which supports it


Because you've now published your internal machine names. Look up certificate transparency logs.


What do you mean? I used self-signed for communication b/w LB and the nginx serving backend

Edit: I don't see any "machine name" on crt.sh for public LB which uses LE

Ah, you meant the DNS address is on CT now. You think I wouldn't know that? Regardless, a dns01 challenge is far better than using self-signed at home


Digiboy is a treasure trove of enterprise software. Where else would I get a pirated hpe ilo license from?


Who?


Don't you have cloud architects and similiar figures already?


if it follows redirect, redirct him to a 10gb gzip bomb


https://zadzmo.org/code/nepenthes/

This is a tarpit intended to catch web crawlers. Specifically, it targets crawlers that scrape data for LLMs - but really, like the plants it is named after, it'll eat just about anything that finds it's way inside.

It works by generating an endless sequences of pages, each of which with dozens of links, that simply go back into a the tarpit. Pages are randomly generated, but in a deterministic way, causing them to appear to be flat files that never change. Intentional delay is added to prevent crawlers from bogging down your server, in addition to wasting their time. Lastly, Markov-babble is added to the pages, to give the crawlers something to scrape up and train their LLMs on, hopefully accelerating model collapse.

https://news.ycombinator.com/item?id=42725147

Is this a good solution??


Best tarpit ever.


I was just going to post the same thing. Happy somebody else thought of the same thing :D


You nasty ones ;)


Me when i can't use my phone in a bus because some fucker decided to block it's functionality when moving


This will waste your bandwidth and resources too


The idea is to trickle it very slowly, like keeping a cat occupied with a ball of fluff in the corner.


Cats also have timeouts set for balls of fluff. They usually get bored at some point and either go away or attack you :)


If the bot is connecting over IPv4, you only have a couple thousand connections before your server starts needing to mess with shared sockets and other annoying connectivity tricks.

I don't think it's a terrible problem to solve these days, especially if you use one of the tarpitting implementations that use nftables/iptables/eBPF, but if you have one of those annoying Chinese bot farms with thousands of IP addresses hitting your server in turn (Huawei likes to do this), you may need to think twice before deploying this solution.


Yes but you still need to keep a connection open to them. This is a sort of reverse SlowLoris attack, though.


You've got the option of abandoning the connection at any time should resources be needed elsewhere.

(Or rather, the tarpit should be programmed to do this, whether by having a maximum resource allocation or monitoring free system resources.)


Yeah but in the mean time it's tying up a connection on your webserver.


I have good reasons to believe this is hosted on Oracle's free tier. Apart from the fact that pinging pico.sh points to an Oracle IP, the 10TB limit is consistent with Oracle Free Tier's limit.


You are correct, we are also multi-cloud: https://pico.sh/regions


Good call. Oracle does charge somewhat reasonable $8.50/TB after the first 10TB/month. Despite my dislike of Oracle it's not a terrible choice for this until you get some serious traffic.


hetzner is $1.5/TB for us and eu.


you can easily find entire VMs for 2€/month on sites like LES


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: