時,我有一個節點明確應用程序運行在一個代理,使用Apache的ProxyPass打破(在httpd.conf配置):節點快報:res.redirect使用代理
ProxyPass /nodeapp http://localhost:9009
我的應用程序使用Passport來驗證用戶身份,所以當我訪問的基本路徑,我應該被重定向到登錄頁面:
- 老重定向:http://example.com:9009 - >http://example.com:9009/login
- 新重定向:http://example.com/nodeapp - >http://example.com/nodeapp/login
不幸的是,重定向不工作:
- 碎重定向:http://example.com/nodeapp - >http://example.com/login
我試圖讓快遞代理配置,但是這並沒有區別:
app.enable('trust proxy');
**編輯:** Ethan在下面的評論中建議,我可以硬編碼我所有的路徑以適應新的環境,然而這會在我的本地計算機上以根目錄('/')運行時破壞路徑。
我在尋找更集中的解決方案,如果可能的話,它可以適應不同的運行環境?
它看起來像你沒有重定向到正確的頁面。您的新應用根植於'/ nodeapp',但您嘗試重定向到'/ login'。在Passport中,您可以提供'successRedirect'和'failureRedirect'路徑......您需要那些以'/ nodeapp'開頭的路徑。 –
感謝Ethan,在遠程服務器上使用我的應用程序時,您的解決方案爲我工作。但是,當我在本地機器上運行應用程序時,路徑現在不正確。我正在尋找更適合不同運行時環境的更集中的解決方案? – fabritw