2017-08-07 58 views
2

我有一個React應用程序通過nginx和一個nodejs api服務器後面的nginx反向代理。 nginx的配置看起來是這樣的:Nginx忽略/ api位置指令與反應路由器4,除非在Firefox瀏覽器隱私瀏覽

location/{ 
    try_files $uri /index.html; 
    add_header Cache-Control public; 
} 

location /api/ { 
    proxy_pass http://localhost:8000; 
    proxy_http_version 1.1; 
} 

在Firefox隱私瀏覽模式,工作的事情如預期:當我刷新頁面/重定向到domain.com/api,該請求被代理到節點服務器。

但是,在非私人firefox和chrome中(隱身+不),任何頁面刷新/重定向到domain.com/api都會加載反應應用並將/ api作爲反應路由器路由。奇怪的是,如果我清除了cookies/history並將我的瀏覽器指向了domain.com/api,我將正確地代理到節點服務器。這個問題只發生在我之前加載過反應應用程序之後。

這讓我發瘋,有什麼想法?我正在考慮將react-router降級到版本3,但這需要進行一些重構,我不知道這是否能解決問題。

回答

0

我現在通過從create-react-app樣板中刪除registerServiceWorker()來修復它。

+0

沒錯,因爲這是緩存你的網頁。 –