是否可以将相同的nodeJS服务器用于两个/三个不同的域(别名)? (我不想重定向我的用户。我希望他们看到他们在地址栏中输入的确切网址。但是,这三个域都完全相同!)
我希望我的用户同时登录所有三个域,以避免混淆。
最简单的方法是什么,避免跨域问题?
谢谢!
答案 0 :(得分:3)
如果您的意思是所有域都将提供相同的nodejs app,那么您可以这样做。
但是如果每个域都应该打开另一个应用程序,那么您必须在服务器上运行反向代理来处理和管理站点/虚拟主机。
您可以安装nginx并将其用作反向代理服务器,或者为nodejs查找http-proxy库。
如果您想管理应用中的虚拟主机,可以查找nodejs的虚拟中间件并使用它
答案 1 :(得分:2)
选择以下其中一项:
使用其他服务器(like nginx)作为反向代理。
使用node-http-proxy作为反向代理。
如果可以从同一个Connect / Express代码库和node.js实例提供每个域,请使用vhost middleware。
答案 2 :(得分:2)
这是一个非常广泛的问题。此外,在SEO方面,拥有多个独立域,每个域都提供相同的内容通常是一个非常糟糕的主意。
登录通常是通过Cookie或通过URL中的额外参数完成的。出于明显的安全原因,Cookie始终是特定于域的。如果您想确保人们一次登录所有域,您可以创建一个内部目的驱动的域来处理身份验证(没有这样的域显示在URL栏中,只有用于HTTP重定向,有效);这样的域将存储所有其余域的登录状态,其余的将通过这样的目的驱动域(通过HTTP重定向)获取登录状态。
然而,总的来说,这听起来太麻烦了。考虑到,也许某些用户特别希望为不同的帐户使用不同的域,因此,如果您要求对所有帐户使用单个登录,则您将有效地中断其使用。而且,回到最初的观点,这对SEO来说非常糟糕,所以,不要这样做。