Укажите доменное имя в интернете для приложения / порта 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);
Другие вопросы по тегам