Últil quando se tem apenas a porta 80 ou 443 liberada
Use o comando abaixo para criar o arquivo
sudo nano /etc/apache2/sites-avaliable/code.example.com.conf
Cole as connfigurações abaixo e salve
<VirtualHost *:80>
ServerName code.example.com
RewriteEngine On
RewriteCond %{HTTP:Upgrade} =websocket [NC]
RewriteRule /(.*) ws://localhost:8443/$1 [P,L]
RewriteCond %{HTTP:Upgrade} !=websocket [NC]
RewriteRule /(.*) http://localhost:8443/$1 [P,L]
ProxyRequests off
RequestHeader set X-Forwarded-Proto https
RequestHeader set X-Forwarded-Port 443
ProxyPass / http://localhost:8443/ nocanon
ProxyPassReverse / http://localhost:8443/
</VirtualHost>
Depois ative o virtual host
sudo a2ensite /etc/apache2/sites-available/code.example.com.conf
Referência: Criação do virtual host.
Ativar módulos do apache (ajuda extra)
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_wstunnel
sudo a2enmod headers
Reiniciar o Apache
sudo service apache2 restart
ufw allow 8443/tcp
PS.: Abrir no firewall da Digital Ocean no painel da hospedagem
Crie uma pasta onde os projetos em desenvolvimento devem ficar
sudo mkdir /var/www/dev
Inicie o code-serve
code-serve -d /var/www/html/example.com