2012-03-24 30 views
16

Otrzymuję ostrzeżenie mieszane podczas korzystania z NODE_ENV=production. Jak to naprawić?Jak naprawić błąd connection.session

Uwaga: connection.session() MemoryStore nie
przeznaczony do środowiska produkcyjnego, jak będzie wyciekać
pamięci i oczywiście pracować tylko w jednym procesie.

+0

Jaki jest twój kod? – Mustafa

+2

Spójrz na to odpowiedź: [http://stackoverflow.com/questions/10760620/using-memorystore-in-production#10761522][1] [1]: http: //stackoverflow.com/questions/10760620/using-memorystore-in-production#10761522 –

Odpowiedz

8

Dobrym pomysłem może być użycie Redisa jako menedżera sesji. Wygląda na to, że używasz frameworku Express lub Connect, a do jednego z nich możesz użyć pakietu npm connect-redis (po zainstalowaniu Redis). Po zainstalowaniu kod ekspresowy będzie wyglądał mniej więcej tak:

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

Zostałem użyty Redis do przechowywania sesji. ale tutaj potrzebuję tylko autoryzacji administratora. Właśnie dlatego szukam prostego rozwiązania –

+2

@GaneshKumar to [więc pytanie] (http://stackoverflow.com/questions/8749907/what-is-a-good-session-store-for-a-single-host- node-js-production-app) zajmuje się konkretnie Twoim problemem. Być może zamiast bazy danych możesz chcieć zbadać bezpieczną trasę cookie opisaną w pytaniu z linkami. –

+0

dzięki audio.zoom –

Powiązane problemy