Copy this file to /etc/nginx/sites-enabled/proxmox server { listen 443; server_name yourserver.yourdomain.com; ssl on; ssl_certificate /etc/nginx/ssl/ssl.crt; ssl_certificate_key /etc/nginx/ssl/ssl.key; proxy_redirect off; location / { proxy_set_header X-Forwarded-Proto https; proxy_pass https://127.0.0.1:8006; proxy_http_version 1.1; proxy_set_header Connection $http_connection; proxy_set_header Origin http://$host; proxy_set_header Upgrade $http_upgrade; } } Make sure you replace ssl_certificate and ssl_certificate_key Restart Nginx: service nginx restart Second step, Turn the pveproxy to localhost only. Copy this file to: /etc/default/pveproxy ALLOW_FROM="127.0.0.1" DENY_FROM="all" POLICY="allow" You can also block it over iptables, since it does not fully work anymore on 5.x. post-up iptables -A INPUT -p tcp --dport 8006 -s 127.0.0.0/8 -j ACCEPT #allow localhost for reverse proxy post-up iptables -A INPUT -p tcp --dport 8006 -j DROP #webinterface post-up iptables -A INPUT -p tcp --dport 3128 -j DROP #spiceproxy Restart pveproxy: service pveproxy restart https://YOURIP:8006 should be not more reachable.