Ever tried to run proxmox behind NGINX Reverse Proxy to get nice urls with HTTPS? Ever since some version of 7.x was released several errors may appear resulting in the gui unable to load using reverse proxy.
GET https://xyz/pve2/ext6/ext-all.js?ver=7.0.0 net::ERR_CONTENT_LENGTH_MISMATCH 200 (OK) GET https://xyz/pve2/js/pvemanagerlib.js?ver=7.3-4 net::ERR_CONTENT_LENGTH_MISMATCH 200 (OK) charts.js?ver=7.0.0:1 Uncaught ReferenceError: Ext is not defined at charts.js?ver=7.0.0:1:1 proxmoxlib.js?ver=3.5.3:2 Uncaught ReferenceError: Ext is not defined at proxmoxlib.js?ver=3.5.3:2:1 locale-en.js?ver=7.0.0:1 Uncaught ReferenceError: Ext is not defined at locale-en.js?ver=7.0.0:1:1 Uncaught ReferenceError: Ext is not defined at (index):38:5
Chances are that you have a badly configured or missing proxy_buffering setting in your nignx config file. Ensure proxy_buffering are set to "off", having proxy buffering disabled in nginx ensures all responses is sent synchronously. If the below configuration doesn't solve the issue ensure that no buffering headers are set, e.g. X-Accel-Buffering, which may be disabled using the proxy_ignore_headers setting.
server { server_name proxmox.xyz.com; location / { proxy_pass https://10.10.1.1:8006; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_buffering off; # ensure that proxy_buffering is set to off client_max_body_size 0; proxy_connect_timeout 3600s; proxy_read_timeout 3600s; proxy_send_timeout 3600s; send_timeout 3600s; } listen 443 ssl; # managed by Certbot ssl_certificate /etc/letsencrypt/live/proxmox.xyz.com/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/proxmox.xyz.com/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot }