Reactjs 在本地情况下,在后端前端之间共享cookie,并维护登录名,但在部署后,不会维护登录名
我正在以各种方式更改设置 它失败了 back/index.jsReactjs 在本地情况下,在后端前端之间共享cookie,并维护登录名,但在部署后,不会维护登录名,reactjs,next.js,Reactjs,Next.js,我正在以各种方式更改设置 它失败了 back/index.js if (prod) { app.use(hpp()); app.use(helmet()); app.use(morgan('combined')); app.use(cors({ origin: /api.nodebird\.com$/, credentials: true, })); } else { app.use(morgan('dev'));
if (prod) {
app.use(hpp());
app.use(helmet());
app.use(morgan('combined'));
app.use(cors({
origin: /api.nodebird\.com$/,
credentials: true,
}));
} else {
app.use(morgan('dev'));
app.use(cors({
origin: true,
credentials: true,
}));
}
app.use(cookieParser(process.env.COOKIE_SECRET));
app.use(expressSession({
resave: false,
saveUninitialized: false,
secret: process.env.COOKIE_SECRET,
cookie: {
httpOnly: true,
secure: false, // https를 쓸 때 true
domain: prod && '.terecal-nodebird.com',
// domain: prod && '.terecal-nodebird.com',
},
name: 'rnbck',
}));
front/server.js
server.use(expressSession({
resave: false,
saveUninitialized: false,
// secret: '',
secret: process.env.COOKIE_SECRET,
cookie: {
httpOnly: true,
secure: false,
},
}));
为什么它可以在我的本地服务器上正常工作,但在Amazon服务器上却不行
在本地环境中,若我请求localhost:3060,那个么会维护登录名,但在127.0.0.1:3060时,不会维护登录名
也许这与此有关
如果您知道,请告诉我谢谢您将部署到两个不同的域
.terecal-nodebird.com
的域
或
您只需将后端移动到生产中的
terecal nodebird.com/api
,后端服务器和前端服务器位于哪些域中?返回:api-terecal-notebird.com,front:terecal-nodebird.com谢谢我需要维护两个域,因为我的目标是构建一个前端后端服务器,使用两个域相互通信。谢谢你介意我问你为什么要这么做吗?