跨域(Cross-Origin)是指瀏覽器出於安全考慮,限制網頁腳本向不同源(協議、域名、埠任意一項不同)的伺服器發起請求的行為。這種限制是由瀏覽器的 同源策略(Same-Origin Policy) 導致的。
解決跨域
# 靜態資源通用配置(圖片、多媒體、字體、JS、CSS等)
location ~* \.(jpg|jpeg|png|gif|bmp|webp|svg|ico|mp4|webm|ogg|js|css|woff|woff2|ttf|eot)$
{
# 允許所有域名跨域訪問
add_header Access-Control-Allow-Origin "*" always;
add_header Access-Control-Allow-Methods "GET" always;
add_header Access-Control-Allow-Headers "*" always;
add_header Access-Control-Max-Age 86400 always;
# 緩存設置
expires 365d;
add_header Cache-Control "public, immutable, max-age=31536000, s-maxage=31536000" always;
# 安全增強頭
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
try_files $uri =404;
access_log off;
error_log /dev/null;
log_not_found off;
}
以上設置是針對cdn端無法設置http響應頭的,如果cdn那邊可以設置響應頭的話就直接設置即可!get請求就行了!
刷新相關跨域連結
如果你的cdn連結出現跨域問題,請在源站設置好跨域配置後進行跨域問題的連結刷新,刷新之後你設置的連結就可以正常訪問了。