Вы должны, чтобы защитить маршрут с секретными маркерами, чтобы избежать разоблачений. Надеюсь, это вам поможет:
// Server 1
const fs = require('fs');
app.use(function(req, res, next) {
var secret = req.headers.hasOwnProperty('authorization')
? req.headers.authorization
: false;
if (! secret || secret !== 'token [your-secret-token]') {
res.status(403).send('Access forbidden');
}
// Create write stream to sitemap file
var stream = fs.createWriteStream('sitemap.xml');
// Redirect request body to stream which writes to sitemap file
req.pipe(stream)
.on('end',() => res.send('ok'));
});
// Server 2
const http = require('http');
const fs = require('fs');
var stream = fs.createReadStream('new-sitemap.xml');
var req = http.request({
host: 'server1',
headers: {
authorization: 'token [your-secret-token]',
},
});
req.on('response', (res) => {
if (res.status === 200) {
console.log('File uploaded');
}
else {
console.error('File not loaded');
}
});
// Write data from file into request body
stream.pipe(req);
Обратите внимание, что токен должен быть не менее 32 символов, чтобы быть достаточно сильным. И не забудьте обновлять его время от времени. А также это концепция.
Можете ли вы представить, можете ли вы это сделать просто? Это означало бы, что кто-то может удаленно изменять ваши файлы! Что вам нужно сделать, это создать API на сервере 1, что-то вроде/changeSitemap и называть server2 его – VirginieLGB
На самом деле, я не хочу раскрывать свой backend API, поэтому я пытаюсь изменить файл с Server2 на Server1 – user3811978
Ну это было бы еще хуже, если бы вы могли так сделать haha И вы всегда можете проверить, вызван ли звонок с Server2 или нет! – VirginieLGB