Getting a session mismatch every time the page reloads.
-
@administrators Help!
-
- Check in config.json that the url of your forum matches exectly the domain url you are using
- Disable nginx routing for a test and access your forum directly to see if it helps
- If you use Cloudfare disable Cloudfare distribution unless you have a higher plan which allows websockets
- Check with/without firewall
- I did a manual socket.io npm re-install which may have fixed something, too
I have been trough this frustrating experience for days but in the end got it all sorted. Its quite a bit of learning to get it working but in the end it all makes sense.
-
The common causes for a session mismatch error are usually one of the following:
1. Mis-configured URL parameter in your
config.json
fileIf you have a misconfigured
url
value in yourconfig.json
file, the cookie may be saved incorrectly (or not at all), causing a session mismatch error. Please ensure that the link you are accessing your site with and the url defined match.2. Improper/malformed
cookieDomain
set in ACPSometimes admins set this value without realising that they probably don't need to set it at all. The default is perfectly fine. This is what the config looks like:
If this is set, you'll want to revert the setting by editing your database directly:
Redis:
hdel config cookieDomain
MongoDB:db.objects.update({ _key: "config" }, { $set: "cookieDomain": "" });
3. Missing
X-Forwarded-Proto
header from nginx/apacheIf you are using a reverse proxy, you will need to have nginx pass a header through to NodeBB so it correctly determines the correct cookie
secure
property.In nginx, you will need to add the directive like so:
location / { ... proxy_set_header X-Forwarded-Proto $scheme; ... }