[英]How does session/authentication work with nginx/NHPM/PHP-FPM?
所以,我正在考慮使用nginx和nginx-http-push-module以及PHP-FPM構建一個應用程序,經過大量有趣的配置后,我得到了它應該處理PHP頁面的工作。
然而,我沒有得到的是會話應該如何工作 - 我見過的nginx + NHPM的所有例子都是通過發布者 - 訂閱者系統運行的,但是如果訂閱者頻道正在進行,它將永遠不清楚會發生什么對用戶而言,實際上是唯一的。 例如,可以考慮為每個用戶提供具有公共頻道和私人頻道的聊天系統。
現在,在傳統的PHP設置中,您將把cookie傳遞給PHP,從那里查找會話,並根據用戶是否經過身份驗證處理頁面的其余部分,但使用PHP-FPM和輪詢,它似乎不應該那樣工作。
我可以理解,如果請求是非經過身份驗證的用戶,您只需轉發它們並顯示錯誤消息並從客戶端終止長輪詢,因為它知道它無效,但是如果有效請求,您幾乎需要從客戶端進行輪詢,在PHP中進行身份驗證,然后斷開連接,但請求保持打開狀態 - 我不確定該部分是如何工作的。
任何人都可以解釋它應該如何實現,如果可能的話,最好用一個例子嗎? 請注意,我不是在尋找HTTP基本身份驗證,我需要在MongoDB中查看單獨的數據存儲進行身份驗證。
免責聲明:我無法清楚地了解您的4.段落。
據我所知,NHPM中的身份驗證的主要問題是PHP應用程序獲得傳入連接的絕對零通知。 您的設置的Comet部分是針對PHP的只寫。
接下來是一個可能的解決方案,我將在接下來的幾天內嘗試這一點。
nginx配置:
授權工作流程:
請注意,如果您的應用程序應該可以使用相同的登錄名從同一瀏覽器中的多個頁面訪問,那么您需要為每個用戶准備多個渠道。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.