【发布时间】:2018-02-20 23:33:32
【问题描述】:
我在 server.js 脚本中遇到了问题。这是 server.js 代码:
require('dotenv').config();
const express = require('express');
const app = express();
const appPort = process.env.APP_PORT;
app.get('/', (req, res) => {
var campaign = req.query.campaign;
var click = req.query.param1;
if (campaign !== undefined && click !== undefined)
{
res.cookie('campaign', campaign, { maxAge: 86400 * 1000 });
res.cookie('click', click, { maxAge: 86400 * 1000 });
}
res.sendFile(__dirname + '/dist/index.html');
});
app.get('/members', (req, res) => res.sendFile(__dirname + '/dist/members.html'));
app.post('/members', function (req, res) {
res.cookie('firstName', req.body.firstname);
res.cookie('email', req.body.email);
res.sendFile(__dirname + '/dist/members.html');
});
app.listen(appPort, () => console.log(`App is running on ${appPort} port`));
app.use(express.static('dist'));
当下一个请求到达服务器时,我必须设置 cookie:
在我的本地主机上一切正常,但是当我将所有更改传输到生产服务器时,除了 cookie 之外,所有更改都可以正常工作,女巫不要保存在 app.get('/', (req, res)。在其他地方(例如:app.get('/members') 一切正常。请帮助我。
【问题讨论】:
-
您使用的是哪个生产服务器?
-
Digitalocean 8 GB 内存/30 GB 磁盘/FRA1 - Ubuntu 16.04.3 x64
-
Nginx?如果是,您可能想要执行以下操作:
add_header Set-Cookie "cip=$remote_addr;Domain=example.com;Path=/;Max-Age=100000"; -
想补充一些解释。 cookie 不会在 app.get('/', (req, res){} 操作中保存。在其他地方 (app.get('/members')) 都可以正常工作。
标签: javascript node.js express cookies