pingora icon indicating copy to clipboard operation
pingora copied to clipboard

Feat: impl `rustls` server certificate bundle + SNI based resolver

Open sebadob opened this issue 8 months ago • 5 comments

fixes #594

sebadob avatar May 02 '25 17:05 sebadob

I just added the CertAndKey::Custom(_) to be able to accept any rustls custom resolver. This makes it possible to accept in-memory certs, or to implement hot-reloading.

My original idea was to also add some code I wrote for one of my other projects and basically copy & paste it, which would make it possible to have watched, hot-reloaded certs out of the box, but I was not sure if this would maybe be too high level at this point. I will release it as a separate crate anyway, because it was too high level to be implemented into rustls directly. The CertAndKey::Custom(_) makes it possible to use this external crate for instance directly, if someone wants to.

sebadob avatar Jun 23 '25 07:06 sebadob

@drcaramelsyrup it's ready for review. I don't have any "request review" button I can press and I thought having it not marked as a draft would be an indicator. Anyway, it's ready and a review would be nice. :)

sebadob avatar Jun 23 '25 07:06 sebadob

I think the TlsSettings::intermediate_bundle feature from this PR is extremely useful, since it allows Pingora proxies to act just like haproxy and automatically select based on SNI.

Any blockers to it's merge? Any way I can help?

klaussilveira avatar Nov 20 '25 02:11 klaussilveira

Seconded, I'm not strong with Rust yet so I can't offer review but this would be handy.

tarxvftech avatar Nov 20 '25 22:11 tarxvftech

I just crossed with this very same need. Any chance a maintainer could review it?

fernandocarletti avatar Nov 23 '25 01:11 fernandocarletti