Всем привет, ребят, не пойму почему сервер возвращает ошибку
500 (
Internal Server Error).
Вот код запроса:
const sendData = (mail) => {
return fetch(
'https://example.com:443/server',
{
method: 'POST',
body: mail,
}
)
.then((response) => response.text());
};
Вот
nginx.conf:
server {
listen 80;
server_name example.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/letsencrypt/live/example.com/cert.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
location / {
root /var/www/example.com/;
index index.html;
}
location /server/ {
resolver 00.000.000.00;
proxy_pass https://00.000.000.00;
limit_except GET POST {
deny all;
}
}
}
Вот
server.js по адресу
/var/www/example.com/server:
const https = require('node:https');
const express = require('express');
const app = express();
const fs = require('node:fs');
const options = {
key: fs.readFileSync('/etc/letsencrypt/live/example.com/privkey.pem'),
cert: fs.readFileSync('/etc/letsencrypt/live/example.com/cert.pem'),
};
https.createServer(
options,
app.post('/var/www/example.com/server/', (req, res) => {
let mail = '';
req.on('data', chunk => {
mail += chunk
console.log(mail);
});
req.on('end', () => {
sendRuProgram(mail);
});
res.status(200).type('text/plain')
res.send('Отправили программу!');
})
).listen(port, host, () => {
console.log(`Привет от сервера! https://${host}:${port}`);
});
Логика такая -
1. На сервер приходят данные через POST.
2. Он создаёт переменную.
3. В неё записывает эти данные.
4. Вызывает функцию параметром которой и будет эта переменная.