Website behind Firewall: How to HTTPS through a Reverse SSH Tunnel? [closed]

Solution 1:

HTTPS and HTTP use different ports. This means that you have to create separate port forwardings with SSH, one for HTTP and HTTPS, like

 ssh -R80:127.0.0.1:80 -R443:127.0.0.1:443 user@vps

From there it is just a normal setup of a web server. Since HTTP and HTTPS for the domain are exposed on a public IP it should also be possible to get a domain name for it (outside of Raspi) and acquire certificates for this domain, for example using Let's Encrypt. Just follow the common instructions on how to do this.