ssh tunneling can be very useful for testing or one-shot things where you quickly need access to a service that's not directly reachable, but I wouldn't use it as a permanent solution for anything. You quickly run into problems like:
- TLS certificates don't work, so you get into the habit of clicking through security warnings or turning of TLS validation altogether.
- Virtual hosts don't work
- Port conflicts when you want to access the same type of service on different remote machines, so you have to remap them and remember things like:
localhost:8080
isfoo:80
andlocalhost:8081
isbar:80
- If it's not your infrastructure (i.e. you are an employee in a larger company), you are probably bypassing all kinds of security rules by exposing a service and your security guys will not be too happy about it if they find out.