ฉันใช้ Nginx เพื่อให้บริการไฟล์คงที่ (ในขณะที่ใช้เป็น reverse proxy สำหรับ NodeJS express RestAPI ของฉัน) ปัญหาคือเมื่อฉันกด git ใหม่ไปยังเซิร์ฟเวอร์ผู้ใช้จะยังคงได้รับไฟล์เก่า (การแก้ไขครั้งล่าสุด) วิธีแก้ปัญหาในตอนนี้คือผู้ใช้ล้างแคชในเบราว์เซอร์
อะไรคือสาเหตุของสิ่งนี้ ฉันเดาว่านี่คือการกำหนดค่าแคชฝั่งเซิร์ฟเวอร์ผิดหรือเปล่า? ดูด้านล่างการตั้งค่า nginx ของฉัน (พื้นฐาน + รวม)
ดังที่คุณเห็นด้านล่างไฟล์สแตติก (.html, .js, .css) จะอยู่ภายใต้ / var / www / frontend
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
listen 80;
server_name **REMOVED_FOR_PRIVACY_REASONS**;
proxy_cache_valid 404 1m;
location / {
root /var/www/frontend;
index index.html
try_files try_files $uri $uri/ =404;
#proxy_cache backcache;
#proxy_cache_bypass $http_cache_control;
#add_header X-Proxy-Cache $upstream_cache_status;
}
location /api/ {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}