我有几个网络服务器运行在一台机器上,目前,为了选择你想要服务的网站,你必须切换你正在连接的端口(域:8000,域:8001),但是我真的不喜欢这个解决方案。我的目标是能够通过domain/process1,domain/process2连接,但是问题是dns总是要连接到domain:80,然后将路由传递给express (我在服务器上使用的是什么)
我知道我可以使用express来控制代码的运行。
app.get('/process1', (req, res)=>{
process1.getRequest(req, res);
next();
});
app.get('/process2', (req, res)=>{
process2.getRequest(req, res);
next();
});但是,这要求我的所有进程都运行在nodejs的单个实例中。我希望不必修改我当前的任何new服务器,只需创建一个新进程,该进程将在端口80上运行,并根据路由将流量重定向到不同的本地端口。
我看过This question,但是他们有几个域名,而我只有一个域名。我还读到了一些关于反向代理/nginx的内容,如果可能的话,我想留在nodejs中。可以在节点中创建我自己的反向代理吗?
发布于 2020-01-10 00:33:47
你可以有一个单独的域名,同时仍然使用反向代理,比如nginx。
请看这篇文章https://medium.com/@samanbaboli/how-to-load-balancing-nodejs-apps-using-nginx-a3b4ceb7c782。
Ps:使用nginx不需要付费。https://www.nginx.com/resources/wiki/
https://stackoverflow.com/questions/59667808
复制相似问题