Укажите доменное имя в интернете для приложения / порта socketstream
Я ищу рекомендации для указания 3 интернет-доменов на 3 различных приложения Socketstream 3.x.
Допустим, у меня запущено три приложения ss,
99.99.99.1:4010, 99.99.99.1:4020, 99.99.99.1:4030
и у меня есть 3 домена
www.myfirstdomain.com, www.myseconddomain.com, www.mythirddomain.com
Каков рекомендуемый подход для маршрутизации доменов к приложениям? Каким-то образом заставить ss распознавать заголовки URL или что-то еще? Три разных ips на сервере? Возможно, мне нужен какой-нибудь модуль маршрутизации для узла? Что изменить в ss /app.js?
Заранее спасибо!
1 ответ
Вы можете добиться этого с помощью HTTP-прокси, либо с помощью NGINX, либо, если вы предпочитаете использовать решение на основе Node.js, используя упругий модуль npm https://github.com/substack/bouncy или node-http- прокси-модуль https://github.com/nodejitsu/node-http-proxy.
Пример, относящийся к вашему делу, может быть таким:
var bouncy = require('bouncy');
var server = bouncy(function (req, res, bounce) {
if (req.headers.host === 'www.myfirstdomain.com') {
bounce(4010);
}
else if (req.headers.host === 'www.myseconddomain.com') {
bounce(4020);
}
else if (req.headers.host === 'www.myseconddomain.com') {
bounce(4030);
}
else {
res.statusCode = 404;
res.end('no such host');
}
});
server.listen(80);