我正在本地主机上编写两个应用程序,并且不希望它们共享某些信息(可能在会话中)。
我想知道我是否可以打开两个端口?会话存储端口是特定的吗?
我想知道我是否可以打开两个端口?
是的,您通过启动两个服务器来监听两个端口,每个端口一个。
会话存储端口是特定的吗?
是和否。这取决于会话的配置方式。
Cookie 不是特定于端口的,因此会话 cookie 将在同一主机上的两台服务器之间共享,但端口不同。
因此,如果您希望在同一主机上的两个独立 Web 服务器上有两个 express-session 实例,但不同的端口使用不同的会话,那么您可以初始化 express-session 以对每个会话使用单独的 cookie(通过指定不同的 cookie 名称对于每个)并初始化两个单独的 express-session 实例,然后这两个会话将完全分开。
下面是一个例子:
const express = require('express');
const session = require('express-session');
// configure first server and session middleware
const app1 = express();
app1.use(session({
secret: 'keyboard cat',
resave: false,
saveUninitialized: true,
cookie: { secure: true },
name: 'session1'
}));
app1.listen(8080);
// configure second server and separate session middleware/session cookie
const app2 = express();
app2.use(session({
secret: 'keyboard cat',
resave: false,
saveUninitialized: true,
cookie: { secure: true },
name: 'session2'
}));
app2.listen(8081);
而且,如果您要为会话指定特定的存储介质,则需要确保将它们初始化为单独的存储位置。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句