Кажется, что кеш Nginx делает хром неудачным

Я запускаю приложение MeteorJs на vVV OVH, за прокси-сервером Nginx, с помощью шифрования SSL Cert.

Раньше я использовал героку для размещения своего приложения.

Я столкнулся с проблемой: на хром я «часто» получаю это сообщение об ошибке в журналах консоли: Uncaught SyntaxError: Unexpected end of input

Я просматривал веб-страницы и видел, что это связано с кешем, многие вопросы SO говорят, что я должен удалить кеш.

Проблема в том, что выполнение этого (с помощью ctrl + f5 или с панели инструментов chrome) иногда работает, но кажется очень случайным, и простые обновления в конечном итоге возвращают ошибку.

Я изменил свой Nginx .conf, чтобы добавить несколько строк, которые я видел во время просмотра для решения:

 server_tokens off; # for security-by-obscurity: stop displaying nginx version # this section is needed to proxy web-socket connections map $http_upgrade $connection_upgrade { default upgrade; '' close; } # HTTP server { listen 80 default_server; # if this is not a default server, remove "default_server" listen [::]:80 default_server ipv6only=on; root /usr/share/nginx/html; # root is irrelevant index index.html index.htm; # this is also irrelevant server_name www.talkalang.com talkalang.com; # the domain on which we want to host the application. Since we set "default_server" previously, nginx will answer all hosts anyway. # redirect non-SSL to SSL location / { rewrite ^ https://$server_name$request_uri? permanent; } } # HTTPS server server { listen 443 ssl; # we enable SPDY here server_name www.talkalang.com talkalang.com; # this domain must match Common Name (CN) in the SSL certificate root html; # irrelevant index index.html; # irrelevant ssl_certificate /etc/letsencrypt/live/talkalang.com/fullchain.pem; # full path to SSL certificate and CA certificate concatenated together ssl_certificate_key /etc/letsencrypt/live/talkalang.com/privkey.pem; # full path to SSL key # performance enhancement for SSL ssl_stapling on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 5m; # safety enhancement to SSL: make sure we actually use a safe cipher ssl_prefer_server_ciphers on; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-$ # config to enable HSTS(HTTP Strict Transport Security) https://developer.mozilla.org/en-US/docs/Security/HTTP_Strict_Transport_Security # to avoid ssl stripping https://en.wikipedia.org/wiki/SSL_stripping#SSL_stripping add_header Strict-Transport-Security "max-age=31536000;"; # If your application is not compatible with IE <= 10, this will redirect visitors to a page advising a browser update # This works because IE 11 does not present itself as MSIE anymore if ($http_user_agent ~ "MSIE" ) { return 303 https://browser-update.org/update.html; } # pass all requests to Meteor location / { proxy_pass http://127.0.0.1:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; # allow websockets proxy_set_header Connection $connection_upgrade; proxy_set_header X-Forwarded-For $remote_addr; # preserve client IP proxy_set_header X-Forwarded-Proto https; # this setting allows the browser to cache the application in a way compatible with Meteor # on every applicaiton update the name of CSS and JS file is different, so they can be cache infinitely (here: 30 days) # the root path (/) MUST NOT be cached if ($uri != '/') { #expires 30d; } add_header Cache-Control no-cache; proxy_cache off; expires off; } } 

Вот строки, которые я добавил:

 add_header Cache-Control no-cache; proxy_cache off; expires off; 

И это все еще не решает проблему. У меня все из идей, я действительно не знаком с администратором sys и ubuntu, особенно nginx.

Проблема в том, что приложение используется сто нетехнических людей каждый день, и я не могу просто попросить их спамить ctrl + f5, пока он не сработает.

У кого-нибудь есть идея? Любая помощь будет очень оценена.

Спасибо вам.