• If you are still using CentOS 7.9, it's time to convert to Alma 8 with the free centos2alma tool by Plesk or Plesk Migrator. Please let us know your experiences or concerns in this thread:
    CentOS2Alma discussion

Resolved Request body not available using Node.js, Express on Plesk (Cors)

Kroptokin

Regular Pleskian
Server operating system version
AlmaLinux 8.9 (Midnight Oncilla)
Plesk version and microupdate number
Plesk Obsidian Version 18.0.57 Update #5, last updated on Dec 23, 2023 02:30 AM
I am using fetch to send a request body to a node app. If the client (browser script using fetch) is on the same domain as the node app all works fine.

However, i am having a problem when sending a POST request across domain. The request is handled fine by node/express: that is it gets it and can send a response. But the request body is empty. So I can't get the data. The data is sent by the browser. But something is removing it. Either Apache or Node/Express.

I am using the Express module cors. I have set it up wide open and I think correctly. I am also using a module body-parser as I found a post which suggested that might fix it. But it doesn't. I have turned off nginx on the server (though it didn't work when I tried the other way and used nginx with Apache turned off). There are no headers in the Apache configuration because the cors module adds them and if they are there you get duplicates.

The workaround is that I can do a GET cross-domain (which also confirms that my basic Cors setup is correct I think) and try to send the data urlencoded appended to the requested url - but this is not very convenient.

Has anyone got this to work? I can find at least one unanswered post and one where someone from Plesk says it is nothing to do with Plesk. (That's fine but doesn't solve my problem!). I am just wondering if anyone has ever got this to work?

Thanks a lot.
 
SOLVED!

Ok. This was rather tricky but (for me at least) it is indeed not a Plesk problem. If anyone runs into this thread - the answer is provided by user Dang Khoa Dinh on this thread: Express.js req.body undefined

In my case - with Nginx turned off globally and no additional Cors configuration for Apache.
 
Back
Top