Welcome to the navigation

Nostrud deserunt in consequat, duis cupidatat incididunt do eu non adipisicing mollit tempor veniam, sint pariatur, minim aliquip est in amet, anim ex ipsum ut. Ipsum qui excepteur voluptate dolore nisi duis eiusmod dolor cillum mollit magna velit aliqua, non tempor irure veniam, commodo ut laborum, lorem consequat, incididunt nostrud

Yeah, this will be replaced... But please enjoy the search!

Proxmox: "Ext is not defined" when running the GUI behind NGINX

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
}