Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以对两个/三个不同的域(别名)使用相同的node.js服务器?_Node.js_Nginx_Cross Domain - Fatal编程技术网

是否可以对两个/三个不同的域(别名)使用相同的node.js服务器?

是否可以对两个/三个不同的域(别名)使用相同的node.js服务器?,node.js,nginx,cross-domain,Node.js,Nginx,Cross Domain,是否可以对两个/三个不同的域(别名)使用相同的nodeJS服务器?(我不想重定向我的用户。我想让他们看到他们在地址栏中键入的确切URL。但是,这三个域完全相同!) 我希望我的用户同时登录到所有三个域,以避免任何混淆 实现这一点并避免跨域问题的最简单方法是什么 谢谢 如果您的意思是所有域都将服务于同一个nodejs应用程序,那么是的,您可以这样做 但是,如果每个域应打开不同的应用程序,则必须在服务器上运行反向代理来处理和管理站点/虚拟主机 您可以安装nginx并将其用作反向代理服务器,或者为nod

是否可以对两个/三个不同的域(别名)使用相同的nodeJS服务器?(我不想重定向我的用户。我想让他们看到他们在地址栏中键入的确切URL。但是,这三个域完全相同!)

我希望我的用户同时登录到所有三个域,以避免任何混淆

实现这一点并避免跨域问题的最简单方法是什么


谢谢

如果您的意思是所有域都将服务于同一个nodejs应用程序,那么是的,您可以这样做

但是,如果每个域应打开不同的应用程序,则必须在服务器上运行反向代理来处理和管理站点/虚拟主机

您可以安装nginx并将其用作反向代理服务器,或者为nodejs寻找http代理库

如果您想管理应用程序中的vhost,您可以为NodeJ寻找vhost中间件并使用它

选择以下选项之一:

使用其他服务器作为反向代理

用作反向代理


如果可以从相同的Connect/Express代码库和node.js实例为每个域提供服务,请使用。这是一个非常广泛的问题。此外,在SEO方面,拥有多个独立的域,每个域都提供相同的内容,这通常是一个非常糟糕的主意

登录通常通过cookie或URL中的额外参数完成。出于明显的安全原因,cookie始终是特定于域的。如果您想确保人们一次登录到所有域,您可以创建一个内部目的驱动域来处理身份验证(在URL栏中不显示此类域,并且仅用于HTTP重定向);此类域将存储所有其余域的登录状态,其余域将通过此类目的驱动域(通过HTTP重定向)获取登录状态


然而,总的来说,这听起来太麻烦了。考虑到,也许有些用户特别想为不同的帐户使用不同的域,因此,如果您授权使用一个单一的登录,那么您将有效地中断它们的使用。回到原点,这样做对SEO非常不利,所以,不要这样做。

cookies没有危险吗?因此,当用户登录其中一个域时,他会自动登录所有域?Cookie没有危险吗?因此,当用户登录其中一个域时,他会自动登录所有域?您可以检查该域并将其保存在Cookies中,这是什么意思?如果用户登录一个域,您是否希望该用户自动登录所有域?这正是我想要的,因为这三个域都是完全相同的应用程序(相同的网站)。只有地址栏中显示的域名不同。假设我有三个域名。thecat.com,elgato.com,lechat.com。事实上,这三个网站都是一样的。但是,我希望我的西班牙语用户可以看到西班牙语的URL,我的法语用户可以看到法语的URL,我的英语用户可以看到英语的URL我不知道这对我的搜索引擎优化有什么坏处,如果我只允许谷歌在法语URL上看到法语内容,在英语URL上看到英语内容,在西班牙语URL上看到西班牙语内容。现在网站已经设置好,当用户切换语言时,他们会停留在同一个URL上。也许我应该只允许他们看到英文网址上的英文内容,西班牙文网址上的西班牙文内容,等等。你觉得怎么样?@Emilio,好吧,是的,那就不一样了。允许在每个域上查看不同的版本是有意义的。我不太确定单次登录是否有效;这取决于业务的集成程度。如果您使用的是基于子域的网站命名系统,那么您可以将登录cookie绑定到顶级域。这样,用户就可以同时登录到所有3个websites@TheChetan目前所有三个域名都不同,例如:elgato.com lechat.com thecat.com谢谢@埃米利奥,如果我的回答有帮助的话,如果你能接受并奖励赏金,我将不胜感激;如果你在接下来的两个小时内什么也不做,那么至少一半的赏金将永远失去。