目前,我正在使用基於expressjs和使用passportjs(http://passportjs.org/)進行yammer身份驗證的sails框架。無論如何在passportjs中設置代理設置?
我在將公司代理服務器上的節點應用程序部署在服務器上時遇到問題。它無法連接到yammer進行OAuth2身份驗證。
的錯誤是如下:
error: failed to obtain access token (Error: connect ETIMEDOUT) at /root/rlps/node_modules/passport-yammer/node_modules/passport-oauth/lib/passport-oauth/strategies/oauth2.js:125:38 at /root/rlps/node_modules/passport-yammer/lib/passport-yammer/strategy.js:72:20 at ClientRequest. (/root/rlps/node_modules/passport-yammer/node_modules/passport-oauth/node_modules/oauth/lib/oauth2.js:129:5) at ClientRequest.EventEmitter.emit (events.js:95:17) at CleartextStream.socketErrorListener (http.js:1547:9) at CleartextStream.EventEmitter.emit (events.js:95:17) at Socket.onerror (tls.js:1437:17) at Socket.EventEmitter.emit (events.js:117:20) at net.js:441:14 at process._tickDomainCallback (node.js:459:13)
我相信這是因爲代理擋住了路。我試圖設置一切環境值(如http_proxy和https_proxy),但似乎代碼不承認他們,需要在passportjs中的某處配置它。
那麼,在passportjs中設置代理設置或在nodejs中解決此代理問題的任何好方法?
我們需要更多的細節。你有什麼錯誤,它起源於哪裏?你能隔離相關代碼併發布它嗎?這是一個安全cookie的問題,並且問題僅在服務器位於代理後面時才顯示出來嗎?如果是這樣,並且您正在使用Express,請查看Express [docs](http://expressjs.com/api.html#app-settings)中的'trust proxy'設置。 –
如果我可以繼續使用Express的假設,請查看[如何使用heroku + node.js + express設置安全cookie?](http://stackoverflow.com/questions/14463972/how-to-set -secure-cookie-using-heroku-node-js-express) –
抱歉不清楚的問題。我會添加更多細節。加入了 –