2017-06-21 54 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)。

相關問題