node.js - 将互联网域名指向套接字流应用程序/端口

标签 node.js dns 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 header 或其他什么?服务器上三个不同的IP?我可能需要一些 Node 路由模块? ss/app.js 中要更改什么?

提前谢谢您!

最佳答案

您可以通过使用 HTTP 代理(使用 NGINX)来实现此目的,或者如果您更喜欢使用基于 Node.js 的解决方案,请使用 bouncy npm 模块 https://github.com/substack/bouncy ,或 node-http-proxy 模块 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);

关于node.js - 将互联网域名指向套接字流应用程序/端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16837308/

相关文章:

node.js - 引擎.io/wss/SSL/HTTP : how to configure?

node.js - SocketIo 和 Redis 多重发射处理

javascript - Node : How to edit database from page?

c# - Amazon SimpleDB - 有没有办法列出域中的所有属性?

ios - 有没有办法在 swift 或 ObjC 中为 IPv4 和 IPv6 发出单独的 DNS 请求

c# - StreamSocket下DataWriter的StoreAsync是如何工作的?

node.js - 更新 Mongoose 中的嵌套查询

node.js - 增加数组对象 mongodb-node 中元素的属性值

networking - 为什么 `to.` 是有效域名?

javascript - socketstream 和第 3 方存储库