如何在同一服务器上运行的不同过程使用不同的域名



假设我有三个不同的站点运行。端口3000上的node.js应用,端口80上的apache/php,然后在端口5000上进行go应用。

我如何有三个转到每个端口的不同域名?

我在考虑所有域所指的端口80上的基本路由系统,然后该程序查看URL和重定向以纠正端口。是建议吗?有更好的方法吗?

谢谢

如果您已经在使用nginx,则可以很容易地为不在端口80上的应用程序设置命名的基于命名的反向代理vhost:

server {
    listen *:80;
    server_name nodeapp.mydomain.com;
    location / {
        proxy_pass http://localhost:3000;
    }
}
server {
    listen *:80;
    server_name goapp.mydomain.com;
    location / {
        proxy_pass http://localhost:5000;
    }
}

如果您在端口80上运行的内容只是一个代理层,则可以使用Caddy,这本身是用GO编写的。您的球童会喜欢这样的东西:

nodeapp.mydomain.com {
    proxy / localhost:3000
}
goapp.mydomain.com {
    proxy / localhost:5000
}

如果没有,您仍然可以使用球童,只将您的PHP应用程序移至其他端口。

我建议Caddy,因为它的创建者在任何地方都在寻求安全性(如果您的网站适用,您会注意到您将获得自动HTTPS(。配置(在Caddyfile中完成(通常也很短而且很容易理解。CADDY具有广泛的用例,并且可以随附插件以进行几乎所有您可以考虑的事情。

相关内容

  • 没有找到相关文章

最新更新