Question

I have to restart my server every two days to make jwt auth works

I have my web application hosted in a Basic Shared droplet (2 vCPUs, 4 GB, 80 GB, 4 TB). The app is a reactjs in front and express node js back end with JWT for authentification. Everything works fine, but after two days, I’m not able to log in to the application because the token is not set in the storage. When I restart the app with the “PM2 restart server”, everything works as expected, but two days later, it’s not, and I have to go through the same process again.

Has someone experienced a similar problem? I don’t know if it pm2, the droplet or my app?

Subscribe
Share

Submit an answer
You can type!ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Hello @denislavgavrilov ,

I find out that the issue is due to mongoose version and useUnifiedTopology in my mongoose dbConnect parameter. that look like this now :

mongoose
    .connect(db, {
      useNewUrlParser: true,
      connectTimeoutMS: 60000,
      socketTimeoutMS: 60000,
      useCreateIndex: true,
      useUnifiedTopology: false,
      useFindAndModify: false,
      keepAlive: true,
    })
    ...

I can’t reproduce it quickly because the issue appears randomly every 2-3 days when the server is running so I’m waiting to see if this change (that give me new scary warning in console) fix the error.

Thanks

Hey @codeibrahima,

Maybe we could go through some logging and see if we find something there. Do you have logging implemented? Could you post what you get with tail -n 20 /var/log/messages as well as running the same command for the log of your application?

Best, Dennis