Serve /manage Zope 6 in HTTPS

Hello all

Im trying to set my Zope 6 admin page over HTTPS (/manage), but receiving error in browser:

Mixed Content: The page at 'https://my-website/manage' was loaded over HTTPS, but requested an insecure frame 'http://my-website/manage_menu'. This request has been blocked; the content must be served over HTTPS.
Mixed Content: The page at 'https://my-website/manage' was loaded over HTTPS, but requested an insecure frame 'http://my-website/manage_workspace'. This request has been blocked; the content must be served over HTTPS.

My Volto 6 instances are running behind AWS ALB over HTTPS according to: Browser(HTTPS) -> AWS ALB(HTTP) -> Nginx (HTTP) -> VoltoSite:3000/Zope:8080.

So Im trying to use same Nginx used for Volto sites, but in different nginx server config.

Is there any config to change on Zope backend? Should I build Zope image on port 443? Why is there .js and .css links in http?

typo in your proxy conf? http vs. https in the redirect rule?

    server {
      listen {{ .Values.plone.nginx.service.port }};
      server_name {{ .Values.plone.nginx.server_name }};
      
      location / {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;

        proxy_redirect http:// https://;
        
        proxy_pass http://backend;
      }
    }

My current nginx config for backend which is Zope running on 8080.

A missing rewrite rule to the vhm ?

server {
        ....
        location / {
                rewrite ^/(.*)$ /VirtualHostBase/https/yourdomain.xyz:443/VirtualHostRoot/$1 break;
                ....
        }
}

Hi @1letter

Great, that is what I was looking for, I found similar suggestion under Plone docs: Reversy proxy for Zope admin. All errors like Mixed Content is gone.

Thank you

Final config:

    server {
      listen {{ .Values.plone.nginx.service.port }};
      server_name {{ .Values.plone.nginx.server_name }};
      
      location / {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;

        proxy_redirect http:// https://;

        rewrite ^/(.*)$ /VirtualHostBase/https/$server_name:443/VirtualHostRoot/$1 break;

        proxy_pass http://backend;
      }
    }