Node.js 如何使用express.js';s请求子域?
我所需要的就是能够从url解析出子域,因为我必须将它存储在会话cookie中以供会话使用(目前)。我现在不想做任何花哨的事情,比如设置API或其他任何事情 Express的文档显示,有一个req.subdomains属性将子域列为一个数组,但对于我的所有本地子域,该数组显示为空。[也就是说,当我转到demo.localhost:3000时,肯定会提供web应用程序,但在第一个get函数中,我调用req.subdomains,并且有一个空数组[]Node.js 如何使用express.js';s请求子域?,node.js,express,Node.js,Express,我所需要的就是能够从url解析出子域,因为我必须将它存储在会话cookie中以供会话使用(目前)。我现在不想做任何花哨的事情,比如设置API或其他任何事情 Express的文档显示,有一个req.subdomains属性将子域列为一个数组,但对于我的所有本地子域,该数组显示为空。[也就是说,当我转到demo.localhost:3000时,肯定会提供web应用程序,但在第一个get函数中,我调用req.subdomains,并且有一个空数组[] 如何从我的localhost:3000获取这些子域
如何从我的localhost:3000获取这些子域字符串?这是因为您的主机缺少TLD。--子域偏移量将默认为2,因为它需要类似于
.com
的值,而不是主机以localhost
结尾
您可以使用
this.app.set('subdomain offset',1)
作为本地运行配置的一部分。非常感谢您的快速而具体的响应。我加入了这一行,现在我完全可以在本地机器上进行测试。当然,我将不得不删除这一行进行生产,但这对于我需要做的事情来说是一个很小的代价。您可以在不改变的情况下解决它通过插入一个额外的子域(如demo.foo.localhost)来初始化代码
Here is my /etc/hosts file
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
127.0.0.1 test.localhost
127.0.0.1 demo.localhost
127.0.0.1 test2.localhost
255.255.255.255 broadcasthost
::1 localhost