I use Cloudflare to proxy a number of self-hosted HTTPS services, which is great.
I still haven't found a solution to obscure, geo-filter and WAF arbitrary TCP/UDP.
Spectrum Enterprise seems like it is capable but not really the answer for a personal server that handles megabytes of traffic a day.