Hi,
I have a sample setup of Metabase in HA mode where two servers running Metabase and nginx have been configured behind a load balancer (HAProxy). The LB is set to use least connection.
My problem for now is that once in a while when loading Metabase, I will get a blank screen even though from the developer console, I have everything returning status 200.
When I clear cookies and cache, Im able to reload Metabase but when I log in, I get the "New login" email no matter how many times I login. As per my understanding, setting up HA Metabase was just a matter of creating two identical instances sharing the same DB and nothing else.
Could anyone with experience with this please share if theres more I need to do?
{
"browser-info": {
"language": "en-GB",
"platform": "MacIntel",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36",
"vendor": "Google Inc."
},
"metabase-info": {
"databases": [
"postgres",
"clickhouse",
"vertica"
],
"run-mode": "prod",
"plan-alias": "",
"version": {
"date": "2025-01-27",
"tag": "v0.52.7.4",
"hash": "0893082"
},
"settings": {
"report-timezone": null
},
"hosting-env": "unknown",
"application-database": "postgres",
"application-database-details": {
"database": {
"name": "PostgreSQL",
"version": "14.8"
},
"jdbc-driver": {
"name": "PostgreSQL JDBC Driver",
"version": "42.7.3"
}
}
},
"system-info": {
"file.encoding": "UTF-8",
"java.runtime.name": "OpenJDK Runtime Environment",
"java.runtime.version": "21.0.6+7-LTS",
"java.vendor": "Eclipse Adoptium",
"java.vendor.url": "https://adoptium.net/",
"java.version": "21.0.6",
"java.vm.name": "OpenJDK 64-Bit Server VM",
"java.vm.version": "21.0.6+7-LTS",
"os.name": "Linux",
"os.version": "4.18.0-513.11.1.el8_9.x86_64",
"user.language": "en",
"user.timezone": "Etc/UTC"
}
}
Below is a slice of my nginx config on both servers. Removed unnecessary details about the server and SSL
server {
listen [::]:443 ssl;
listen 443 ssl;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_redirect off;
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-Host $server_name;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_no_cache $http_cache_control;
add_header X-Server-Hostname $hostname;
}
}