nginx 模塊 location 順序加載的問題
最近nginx 處理圖片跨域的問題,前端用到canvas ,後臺用的php,當前php 代碼裏面也可以處理跨域的問題,更好的方式,肯定是在nginx 端處理。
在location / 中加入
if ( $request_method = ‘OPTIONS‘) {
add_header Access-Control-Allow-Origin $http_origin;
add_header Access-Control-Allow-Methods ‘OPTIONS‘;
add_header Access-Control-Allow-Headers ‘X-ACCESS_TOKEN,Access-Control-Allow-Origin,Authorization,Origin,x-requested-with,Content-Type,Content-Range,Content-Disposition,Content-Description,token‘;
add_header ‘Content-Length‘ 0;
return 204;
}
在 匹配php以及圖片的 location 中也要加入
if ( $http_origin ~ (.*).aaa.cn) {
add_header Access-Control-Allow-Origin $http_origin;
add_header Access-Control-Allow-Methods ‘GET, POST‘;
}
弄了很久,才發現有些沒有生效,原因在於, location 加載會有相關的規則。具體參考:
https://www.cnblogs.com/zhaof/p/5945576.html?utm_source=itdadao&utm_medium=referral
nginx 模塊 location 順序加載的問題