Hello, I am looking to offer custom sub domains for my users, e.g. joebloggs.example.com
My current hosting provider (Firebase) does not support wildcard domains.
I am looking at moving over to Heroku which supports wildcard domains but not automatically with SSL: https://help.heroku.com/EUV5TCYK/why-doesn-t-automated-certificate-management-support-wildcard-domains
Has anyone achieved something similar using a service like Let's Encrypt? Any help much appreciated.
I know that Render - https://render.com/ - recently launched support for wildcard domains with automatic SSL! (Render is a new Heroku type service)
Alternatively, I know of a service called AutoSSL - https://autossl.co/ - that is in beta currently that allow your customers to point custom domains and it manages the SSL.
Thanks a lot for the info. Render.com looks very promising so I am going to explore Render further. Will let you know how I get on.
I use closte for a wordpress multisite application. Supports wildcard lets encrypt and automatically ssl. https://closte.com/features
Yeah I've achieved automatic certificate creation with Kubernetes and cert-manager https://github.com/jetstack/cert-manager/ and the ingress-nginx https://kubernetes.github.io/ingress-nginx/ . It worked pretty well but Kubernetes could be hard to operate and introduces a lot of complexity. You can also set up a simple virtual machine with let's encrypt and nginx that serves as a reverse proxy to your real application? Not sure what you're using right now. Hope it helps.
If your current hosting provider, Firebase, does not support wildcard domains, you won't be able to directly use Let's Encrypt for wildcard SSL certificates with Firebase hosting alone. Here's a basic strategy:
Set up a reverse proxy or a load balancer
Configure SSL termination
Point DNS to the reverse proxy/load balancer
Route traffic to Firebase
Configure Firebase for custom domains
Although Firebase doesn't directly allow wildcard domains, you can still use Let's Encrypt to generate custom subdomains with SSL certificates by utilizing this method. Keep in mind Let's Encrypt certificates have a 90-day expiration date, so you'll need to arrange up a procedure for renewing them in advance. You can automate this renewal process or you have to purchase the wildcard ssl from a reputed certificate provider such as ssl2buy, they give 24/7 customer support. Let me know if you need further assistance with any of these steps!
I'm using Let's Encrypt in combination with traefik, works great. Traefik also handles all of the renewing and routing etc. The service itself is running with docker.
I'm also planning on moving to Kubernetes later on where I can use the same setup (for this part)
I achieved that by using Let's encrypt and NGNIX. Background: Java App deployed in an Ubuntu on a VPS, so I don't know about Heroku and your deployments. My hosts (ubuntu) are provisioned using Ansible. Ansible also takes care of configuring the certificates and deploy the apps.
The only thing bad in my setup is that I need to add TXT records to the TLD domains, which sucks but I only have to do it once per TLD.
this helped: https://community.letsencrypt.org/t/wildcard-domain-step-by-step/58250/4
Let me know if I can help and send some sample ansible scripts