У меня есть цифровая океаническая капля, на которой запущен сервер nodeJS, работающий с pm2.Когда я запускаю приложение preact локально с io.connect, установленным на
io.connect('app.ardilabs.com:9080');
app.ardilabs.com - это место, где живет сервер nodeJS.
Локально запускаемое веб-приложение будет подключаться кудаленный сервер из DO, а затем обновит мое приложение данными, которые я отправляю с помощью Postman.
Когда я пытаюсь создать приложение и поместить его в одну и ту же каплю DO и обслуживать приложение с помощью nginx, приложение загрузиткогда вы переходите по URL, но он не подключается к серверу nodeJS.Когда я пытаюсь что-то POST получить, я получаю от сервера подтверждение, что он получил мои данные, но никогда не перенаправляется в приложение.
Почему это работает локально и с удаленным сервером, а не когда я размещаю приложениеи обслуживать его с помощью nginx?Я действительно в замешательстве.
Вот соответствующий код сервера:
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: true })); // support encoded bodies
// routes will go here
io.on('connection', function(socket){
//We need a connection but we don't need to do anything about it
});
// start the server
http.listen(9080, function() {
console.log('listening on *:9080');
});
Вот соответствующий код клиента:
import io from 'socket.io-client';
const socket = io.connect('app.ardilabs.com:9080');
Несколько дополнительных замечаний:
- Я использую nginx в качестве веб-сервера
- На моем сайте есть сертификат Let's Encrypt
Если мне не хватает какой-либо необходимой информации, пожалуйста, сообщите мне!