Express 在我的服务器上托管JWT身份验证应用程序

Express 在我的服务器上托管JWT身份验证应用程序,express,nginx,jwt,passport.js,Express,Nginx,Jwt,Passport.js,我遵循了以下关于JWT身份验证的教程。完整的代码可在中查看 在我的本地机器上,该应用程序运行良好,但我希望能够将其部署到运行带有NGINX的Ubuntu服务器的虚拟专用服务器上 我的NGINX配置应该如何在服务器上运行?目前,我似乎遇到了CORS问题或其他问题。经过长时间的搜索,我终于找到了解决方案。我不得不将cors npm包添加到我的app.js文件中 然后,我必须更改“api”调用,以使用本教程jwt-vanilla.js中服务器的公共ip地址,并且由于我使用的是基于OpenStack环境

我遵循了以下关于JWT身份验证的教程。完整的代码可在中查看

在我的本地机器上,该应用程序运行良好,但我希望能够将其部署到运行带有NGINX的Ubuntu服务器的虚拟专用服务器上


我的NGINX配置应该如何在服务器上运行?目前,我似乎遇到了CORS问题或其他问题。

经过长时间的搜索,我终于找到了解决方案。我不得不将cors npm包添加到我的app.js文件中

然后,我必须更改“api”调用,以使用本教程jwt-vanilla.js中服务器的公共ip地址,并且由于我使用的是基于OpenStack环境的服务器,我还必须允许OpenStack中的端口3000。有关安装cors的更多详细信息,请参见以下视频

我使用了以下nginx配置:

server {
    listen 80;
    server_name yourdomain.com;

    location /{
         proxy_set_header X-Real-IP $remote_addr;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header Host $http_host;
         proxy_set_header X-NginX-Proxy true;
         proxy_pass    http://127.0.0.1:3000/;
    }
}

所以现在我正在运行nginx,在app.js端口3000所在的服务器上我启动了“node app.js”,而在公用文件夹中我启动了http server npm install http server-g,它在8080上运行。

它在所有spring ouath2客户端配置中都能工作。非常感谢。