我正在使用nginx从我的域根/
提供一个React应用程序,并从/blog
提供一个Django博客应用程序。我还使用nginx将所有http
重定向到https
。
问题是一些奇怪的行为...如果我导航到具有清晰缓存的博客,它将显示该博客。如果然后我导航到索引页面,它将显示react应用程序。到目前为止一切都很好。但是然后,如果我返回/blog
,它将继续显示react应用,而不是博客!我认为问题涉及缓存,但是我不确定在哪里。
我没有使用react-router,所以我不确定如何在客户端重定向网址。
这是我的Nginx配置:
server {
listen 80;
server_name mydomain.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name mydomain.com;
root /production_build;
location /static/ {
root /var/www/mysite;
}
location /blog {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://upstream_django_server;
}
location /cms {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://upstream_django_server;
}
location / {
try_files $uri /index.html;
}
}
答案 0 :(得分:3)
您应该禁用服务工作者的反应,因为这会干扰您的/blog
网址,并在下次返回自己的响应。
由于您在此处混合了2个应用程序,因此您不想冒险拥有一些难以摆脱的东西。
由于缓存响应,服务人员有时会非常讨厌