2017-06-21 59 views
0

我按照以下教程https://jonathanmh.com/express-passport-json-web-token-jwt-authentication-beginners/进行JWT身份验证。完整的代码可在https://gist.github.com/JonathanMH/6bd82c0954fb8f21a837ce281da4265a查看。在我的服务器上托管JWT身份验证应用程序

在我的本地机器上,应用运行良好,但我希望能够将它部署到运行Ubuntu服务器的虚拟专用服务器上,使用NGINX。

NGINX的配置应该如何让它在服务器上运行?目前看起来我正遇到CORS问题或其他问题。

回答

0

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

然后,我必须更改'api'调用来使用服务器的公共ip地址(在本教程的jwt-vanilla.js中),并且因为我使用的是基于OpenStack环境的服务器我还必须允许OpenStack中的端口3000。 (上安装CORS更多的细节可以在下面的视频中可以看出(https://egghead.io/lessons/angularjs-client-setup-for-jwt-authentication

我用以下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的和服务器上的应用程序的位置.js(端口3000)我开始'节点app.js',而在公共文件夹中,我启动了在8080上运行的http-server(npm install http-server -g)。

相关问题