我正在考虑使用以下架构在同一台服务器上部署多个(和不同的)Web应用程序:
www.mydomain.com/app1
www.mydomain.com/app2
这是一个好习惯吗?有什么建议吗?
答案 0 :(得分:4)
我没有看到为什么不这样做的明显原因。毕竟,并非每个网站都专注于单个任务或应用程序。另一种方法是使用子域,例如:
app1.mydomain.com
app2.mydomain.com
答案 1 :(得分:2)
一个原因是您希望支持与Web服务器的SSL连接。
如果您使用基于文件夹的方法,则SSL证书没有任何问题。
如果你选择子域方法(app1.mydomain.com,app2.mydomain.com等),你可能需要一个更昂贵的通配符SSL证书,或者需要多个证书。
如果您不需要SSL或几乎没有需要SSL的应用程序,则不会出现问题。
答案 2 :(得分:1)
这种方法的唯一缺点是,如果任何应用程序最终移动到不同的服务器,您将需要进行一些重定向或反向代理,而使用子域,您只需要更改movingapp的A记录。 domain.com。
因此,为了使其面向未来,我将创建子域。
答案 3 :(得分:0)
如果应用程序都与域名相关,我认为以这种方式做事情没有问题。
答案 4 :(得分:0)
您没有提及任何技术,但如果您恰好使用Java,则Web应用程序(默认情况下)将不会共享任何会话信息。如果您希望用户登录到一个Web应用程序并登录到其他Web应用程序,这可能会成为一个问题。
某些容器(Tomcat,Glassfish)具有单点登录功能,可用作特定于实现的功能。
仅仅是该决定的一些后果的一个FYI。
答案 5 :(得分:0)
我通常的做法是将网站视为单一用途。 “单一”实际上定义了一个广泛的目标和使用模式。如果多个应用程序全部融合在一起并协同工作,那么
mydomain.com/app1和mydomain.com/app2非常好。
这意味着他们存在并活着来扩充主要网站。
如果应用程序彼此没有多大关系并且几乎生活在他们的“自己的世界”中,那么它们可能应该作为自己的子域存在。
app1.mydomain.com和app2.mydomain.com
这允许您将DNS策略设置为不同的IP地址(Web服务器/服务器场),而不是将它们聚集在同一个池中。