cdn到oss,根据用户终端是手机和电脑等不同分别访问两套前端代码
使用规则引擎
其中一个配置了很多浏览器,另外一个配置匹配所有 ,这样就能正常访问。如果这两个网站,有一个没有使用规则引擎,那么就会两个网站都匹配上,然后第四条规则目标path和第一条的会拼接起来作为oss的key,肯定不存在,所以会访问不了页面
规则这里,可以并且 或
上面对比实现的nginx配置
if ($http_user_agent ~* "GoBrowser|MIDP|WAP|UP\.Browser|Obigo|Mobile|mobile|AU\.Browser|wxd\.Mms|WxdB\.Browser|CLDC|UP\.Link|KM\.Browser|UCWEB|SEMC-Browser|Mini|Symbian|Palm|Nokia|Panasonic|MOT-|SonyEricsson|NEC-|Alcatel|Ericsson|BENQ|BenQ|Amoisonic|Amoi|Capitel|PHILIPS|SAMSUNG|Lenovo|Mitsu|Motorola|SHARP|WAPPER|LG-|LG/|EG900|CECT|Compal|kejian|Bird|BIRD|G900/V1\.0|Arima|CTL|TDG|Daxian|DBTEL|Eastcom|EASTCOM|PANTECH|Dopod|Haier|HAIER|KONKA|KEJIAN|LENOVO|Soutec|SOUTEC|SAGEM|SEC|SED-|EMOL|INNO55|ZTE|Phone|phone|Android|WindowssCE|DX|TELSON|TCL|oppo|ChangHong|MALATA|TIANYU|MAUI|J2ME|BlackBerry|yulong|NOKIA|UNTRUSTED|SCH-|LGE-|CTC/1|kyocera|CEC-|DAXIAN|Sanyo-|Openwave|htc|Maemo|maemo|Mobi") { rewrite ^/(.*).(svg|tif|tiff|wbmp|png|bmp|fax|gif|ico|jfif|jpe|jpeg|jpg|woff|cur|webp|swf|ttf|eot|woff2|css|js|txt|json|xhtml|html|map|rplib)$ /xx/firefxx-overseas/$1.$2 last; rewrite ^/(.*)/? /xxx/firexx-overseas/index.html last; } if ($http_user_agent ~* ".*") { rewrite ^/(.*).(svg|tif|tiff|wbmp|png|bmp|fax|gif|ico|jfif|jpe|jpeg|jpg|woff|cur|webp|swf|ttf|eot|woff2|css|js|txt|json|xhtml|html|map|rplib)$ /xx/yhxs/$1.$2 last; rewrite ^/(.*)/? /xx/yhxs/index.html last; } location / { if ($request_method = POST){ return 403; } if ($request_method = PUT){ return 403; } if ($request_method = DELETE){ return 403; } proxy_set_header Host minio-xx.xx.com; proxy_pass http://minio-xx-nginx; }
上面cdn配置还是有点问题,要如下才可以
注意,下面的客户端前后需要加*,不加*好像匹配不到
原因是:
默认的走浏览器,它这里匹配好像没有先后顺序。走手机的也会匹配上默认,导致代码路径是两个项目的路径叠加,而出现访问失败
解决方法,就是默认的匹配所有客户端类型的,必须不包含客户端是手机类型的,加个并且。也就是匹配所有类型的用两个条件,并且把包含手机的要排除出去
简单来说,就是匹配到手机的规格,也会匹配到任意客户端的规则,所以需要把匹配到任意客户端的规则用并且把手机排除在外,这样匹配手机的,就匹配不到任意客户端规则了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
2019-06-08 ajax使用案例