gpt4 book ai didi

node.js - 使用 Passport.js 进行身份验证 通过 Nginx 提供声明内容

转载 作者:太空宇宙 更新时间:2023-11-04 02:37:09 31 4
gpt4 key购买 nike

对于我目前正在从事的一个项目,我决定不使用node的http服务器,几天来我一直在尝试弄清楚如何将socket.io-passport应用程序与nginx结合起来。据我了解,我被迫使用express(用于 session 处理)。很奇怪的是,我在网上找到的所有示例,总是使用node的服务器来提供静态内容,而没有人用Nginx制作实际的工作示例。让我描述一下我的问题。

考虑以下代码

app.get('/home', function(reg, res){
//check user session value, is logged in
if(req.user)
res.render('dash',{
username: req.user['member_id']//req.user array contains serializeUser data
});
else
res.render('index');

});

app.get('/logout', function(req, res){

req.logout();
res.redirect('/home');
});

//login form submit as post

app.post('/login',
passport.authenticate('local', {
successRedirect: '/dashboard',
failureRedirect: '/home'
})
);

app.get('/signup',routes.signup);
app.get('*', routes.index);

如何在 js 文件中指示 JavaScript 来提供没有路由的静态文件?

最佳答案

在expressjs中,您可以使用静态中间件来提供特定文件夹中的静态内容。您不需要为此指定路线。

app.use(express.static(__dirname + '/public'));

您可以访问公共(public)文件夹 localhost:portnumber/staticfile.js 中的静态文件

你可能想给静态文件添加前缀,你可以使用这个:

app.use('/static', express.static(__dirname + '/public'));

您可以使用 localhost:portnumber/static/staticfile.js 访问

如果您希望 nginx 提供静态文件,您只需在 nginx 中创建新的虚拟主机即可通过 nginx 提供静态文件。一般使用nginx作为反向代理,将80端口上的所有请求代理到node.js应用程序。

关于node.js - 使用 Passport.js 进行身份验证 通过 Nginx 提供声明内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21250511/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com