SSL Configuration
SSL requirements
Section titled “SSL requirements”- A domain name
- SSH access
- sudo privileges
Installing dependencies
Section titled “Installing dependencies”This tutorial will use Ubuntu Jammy 22.04 LTS as the operating system, and Cloudflare as the DNS provider.
To install the dependencies, you will need to run the following commands:
sudo apt update && sudo apt upgradesudo apt install nginx certbot python3-certbot-nginxAdding a domain name
Section titled “Adding a domain name”For this, we will want to go to Cloudflare, and create an A record for our domain with the name you want and your server’s Public IP.

Setting nginx virtual host
Section titled “Setting nginx virtual host”To enable this, we will need to edit the file /etc/nginx/sites-enabled/pufferpanel.conf, and we will use nano to edit it. To edit it, run the following command:
sudo nano /etc/nginx/sites-enabled/pufferpanel.confAnd now, you have to add the following:
Remember to change panel.examplehost.com to your domain name!
server { listen 80; root /var/www/pufferpanel;
server_name panel.examplehost.com;
location ~ ^/\.well-known { root /var/www/html; allow all; }
location / { proxy_pass http://localhost:8080; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Nginx-Proxy true; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $host; client_max_body_size 100M; } }If you’re using PuTTY, you can right click on the terminal to paste it, and if you’re using just a terminal, you can press Ctrl + Shift + V to paste it.
To save now, you have to press Ctrl + X, and then Y.
Now you’ll want to restart nginx, to do that, run the following command:
sudo systemctl restart nginxWe also need to open ports 80 and 443, so we can access the panel.
sudo ufw allow 80sudo ufw allow 443sudo ufw reloadEnabling SSL
Section titled “Enabling SSL”To enable SSL, we will need to run the following command:
sudo certbot --nginx -d (yourdomain)And that’s it! Now if you go into your browser, and try to go into https://(yourdomain), you should be able to access the panel!