2012-03-24 19 views
16

Viene visualizzato un avviso di avviso quando si utilizza NODE_ENV=production. Qual è la soluzione per questo?Come risolvere il problema connection.session

Attenzione: connection.session() MemoryStore non è
progettato per un ambiente di produzione, in quanto perderà
memoria, e ovviamente funziona solo all'interno di un singolo processo.

+0

Qual è il tuo codice? – Mustafa

+2

Date un'occhiata a questa risposta: [http://stackoverflow.com/questions/10760620/using-memorystore-in-production#10761522][1] [1]: http: //stackoverflow.com/questions/10760620/using-memorystore-in-production#10761522 –

risposta

8

Potrebbe essere una buona idea utilizzare Redis come gestore della sessione. Sembra che tu stia usando il framework Express o Connect, e per ognuno di essi potresti usare un pacchetto npm connect-redis (avendo installato Redis). Con quello installato il codice espresso sarebbe simile a questo:

var express = require ('express') 
    , RedisStore = require ('connect-redis') (express) 
    , sessionStore = new RedisStore() 
    , app = express.createServer() 
    ; 

app.configure (function() { 

    app.use (express.cookieParser()); 
    app.use (express.session ({ 
    secret: "keyboard cat", store: sessionStore, key: 'hello.sid' 
    })); 
... 
+0

Sono stato utilizzato Redis per il session store. ma qui ho bisogno solo dell'autenticazione dell'amministratore. Ecco perché sto cercando una soluzione semplice –

+2

@GaneshKumar questa [domanda così] (http://stackoverflow.com/questions/8749907/what-is-a-good-session-store-for-a-single-host- node-js-production-app) riguarda specificamente il tuo problema. Forse invece di un database potresti voler esplorare il percorso del cookie sicuro descritto nella domanda collegata. –

+0

grazie audio.zoom –

Problemi correlati