具有http服务器、websocket和express的体系结构

Architecture with http server, websocket and express

本文关键字:express 体系结构 websocket http 服务器 具有      更新时间:2023-09-26

我正在尝试使用NodeJ的"http服务器"、"express"answers"web套接字"创建一个网站。基本上,"http服务器"正在登录到端口"8080",在"index.html"页面上,我有一个简单的表单来执行登录。

这就是我有点困的地方。事实上,我读过这篇文章(https://auth0.com/blog/2014/01/15/auth-with-socket-io)我正试图重现身份验证过程。所以我正在尝试创建"express"应用程序来处理"/login"路由,但是,我有一个端口问题。我不能监听端口"8080",因为它被"http服务器"使用,我也不能监听另一个端口,因为如果我这样做,我对"/login"路由的AJAX调用将被CORS系统阻止。

我的目标很简单:我希望有一个提供html/css和javascript文件的web服务器(因此是一个普通的web服务器),但我也想有一个使用"express"的"NodeJs"模块来处理其余通信的登录和websocket。我看到可以使用"ws"&"express"在同一个端口上,但我不知道我可以做些什么来通过网站启用AJAX登录。

通过在express应用程序上设置Access-Control-Allow-Origin标头,您可以在其他端口上托管express应用,而不会遇到CORS问题。您可以使用以下代码自动设置:

app.use(function (req, res, next) {
res.header('Access-Control-Allow-Origin', 'your origin here');
next();
});

该代码需要在您的路线处理之前。这样,你就可以为通过快递应用程序发送的每个请求设置标题。