ForgeRock Platform UI Nginx issue on docker

Hi,

I try to deploy Identity Platform on my mac with minikube. Things go well at first, I create Cluster via minikube, create cert-manager and ingress as well. But when I use helm to deploy Platform, all UI-related pods crashed.

I checked the logs and see below error

Starting Nginx
2024/06/25 21:26:53 [emerg] 541#541: dlopen() "/usr/lib/nginx/modules/ngx_http_headers_more_filter_module.so" failed (/usr/lib/nginx/modules/ngx_http_headers_more_filter_module.so: cannot open shared object file: No such file or directory) in /etc/nginx/nginx.conf:1
nginx: [emerg] dlopen() "/usr/lib/nginx/modules/ngx_http_headers_more_filter_module.so" failed (/usr/lib/nginx/modules/ngx_http_headers_more_filter_module.so: cannot open shared object file: No such file or directory) in /etc/nginx/nginx.conf:1

seems the Nginx image used by Platfomr UI miss some module? Anyone have some ideas on this issue?

Thanks

I’m not sure if you found a solution, but I suspect this is because the .so is built for x86-64 and you are trying to run it on a different architecture.

I ran into this on an M1.

The http_headers_more_filter_module shows that the architecture is for x86-64:

file /usr/lib/nginx/modules/ngx_http_headers_more_filter_module.so
/usr/lib/nginx/modules/ngx_http_headers_more_filter_module.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=b99902fce6d93f88b9c2fdb442172b35f2975c02, with debug_info, not stripped

But the other modules show (eg):

/usr/lib/nginx/modules/ngx_http_geoip_module.so: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=467f05699f2c1f9322715fe0f5dec4c87add0626, stripped

show the expected architecture.

This is true even when specifying the correct platform for an M1 when starting the container:

docker run -it --user root --platform linux/arm64 gcr.io/forgerock-io/platform-login-ui:7.5.0 bash

This seems to have been fixed in 7.5.1.

1 Like