Я использую Cloud9 IDE на моем Ubuntu 14.04 VPS в качестве среды разработки, и сейчас я работая над приложением Nodejs + Express и пользуясь преимуществами gulp и удаленных ssh
терминалов.
Но высокие порты (например, 8080, 8081, ...) заблокированы на моем рабочем месте, и все, что у меня есть, это порт 80!
Итак, я настроил Nginx для сопоставления всех моих доменов с их поддоменами с разными портами на моем локальном хосте VPS. Например, от domain1.com
до http://localhost:8080
или от sub1.domain2.de
до http://localhost:9090
и так далее, чтобы иметь возможность обслуживать разные приложения на одном VPS через порт 80.
Все работает нормально, пока я не попытаюсь настроить BrowserSync для автоматизации перезагрузки в браузере моего ПК. Вот псевдоконфиг:
Таблица карты Nginx: (Работает нормально)
ahs502.ir
tohttp://localhost:8081
dev.ahs502.ir
tohttp://localhost:8082
bs.ahs502.ir
tohttp://localhost:8083
test.ahs502.ir
tohttp://localhost:8084
Задача Gulp для BrowserSync: (Кажется, работает нормально)
var bs, browserSync = require("browser-sync");
...
gulp.task('bs', ['start-node'], () => {
bs = browserSync.create();
bs.init({
proxy: "localhost:8081", // Address of my running local node server
port: 8082, // dev. ...
ui: {
port: 8083, // bs. ...
weinre: {
port: 8084 // test. ...
}
}
});
bs.watch("app/views/*.jade").on("change", bs.reload);
});
Затем я запускаю задачу Gulp: (В моем удаленном терминале более ssh
на моем VPS)
$ gulp bs
Он запускается без ошибок, и я могу прекрасно просматривать dev.ahs502.ir
в браузере моего ПК, НО именно здесь я сталкиваюсь с периодически повторяющейся ошибкой в консоли моего браузера:
GET http://dev.ahs502.ir:8082/browser-sync/socket.io/?EIO=3&transport=polling&t=LEye85F browser-sync-client.2.11.2.js:1
net::ERR_CONNECTION_TIMED_OUT
GET http://dev.ahs502.ir:8082/browser-sync/socket.io/?EIO=3&transport=polling&t=LEyeEh8 browser-sync-client.2.11.2.js:1
net::ERR_CONNECTION_TIMED_OUT
GET http://dev.ahs502.ir:8082/browser-sync/socket.io/?EIO=3&transport=polling&t=LEyeLGy browser-sync-client.2.11.2.js:1
net::ERR_CONNECTION_TIMED_OUT
...
И автоматическая перезагрузка не работает.
Он просто добавляет дополнительный :8082
в конец http://dev.ahs502.ir
(который будет переведен в http://localhost:8082
на моем сервере сам по себе), поэтому запрос не может быть разрешен и истечет время ожидания.
Я сделал все, что мог, но не смог это исправить! Любая помощь будет приложена !!
Извините за долгую историю. Спасибо.