우리는이 설정 nginx.conf
을 꽤 오랫동안 가지고 있습니다.
sendfile on;
파일을 업데이트하고 /js/main.js
브라우저 https://test.com/js/main.js?newrandomtimestamp 에서 액세스 할 때 브라우저 에서 완전히 새로 고침 (캐시 지우기)하지 않으면 이전 버전이로드됩니다.
그러나 sendfile에서 설정을 변경하면; 파일을 보내려면; 브라우저는 업데이트 된 파일의 올바른 버전을로드합니다.
프로덕션 웹 서버의 경우 sendfile을 사용해야합니다. 또는 sendfile off ;? sendfile이 켜져 있으면; (더 나은 캐싱의 이유? 더 빠른 성능?) 위에서 언급 한 문제를 해결하는 방법이 필요합니까?
아래는 nginx.conf
프로덕션 서버에 있으며 버전 1.7.5를 사용하고 있습니다.
user nginx;
worker_processes 2;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
worker_rlimit_nofile 51200;
events {
use epoll;
worker_connections 51200;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
client_max_body_size 8m;
sendfile on;
keepalive_timeout 65;
real_ip_header X-Forwarded-For;
set_real_ip_from 0.0.0.0/0;
large_client_header_buffers 4 32k;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript application/javascript text/css application/xml application/json;
gzip_vary on;
include /etc/nginx/conf.d/*.conf;
}
sendfile
VirtualBox 드라이브 에 대한 몇 가지 버그 보고서가 있습니다 (예 : virtualbox.org/ticket/819 ). 아마존에도 비슷한 문제가있을 수 있습니다.