그냥 메모로 작성하는 것입니다.
여기서 프론트엔드는 클라이언트 측 렌더링이기 때문에
- index.html은 변하지 않는 파일명이므로 크기가 상대적으로 작기 때문에 캐시되거나 실제로는 캐시되지 않도록 협상됩니다. 설정의 17번째 줄을 참조하세요.
- js, css 이러한 파일은 index.html에 로드되므로 그 자체가 강력한 캐시가 될 수 있으므로 js, css를 참조하는 index.html 만 업데이트됩니다!
server {
listen 8093;
server_name localhost;
#access_log /var/log/nginx/host.access.log main;
root /svideoWeb/dist;
location / {
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
location ~* \.(js|css|svg)$ {
expires 1y; # 강력한 캐시는 캐시 시간을 1년으로 설정합니다.
add_header Cache-Control "public"; # 클라이언트 및 프록시 서버의 파일 캐시 허용
}
location = /index.html {
expires -1; # 캐시 협상, 각 요청은 서버에 대한 캐시 유효성을 확인합니다.
add_header Cache-Control "no-store"; # 클라이언트와 프록시가 파일을 캐시하도록 허용하지 마세요.
}
location ^~ /api/ {
rewrite ^/api/(.*)$ /interface/$1 break;
client_max_body_size 50M;
proxy_pass "http://...1:8090";
proxy_redirect default;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header X-Forwarded-Server $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}




