Nginx代理:通过同个域名同个端口分别在PC端和手机端访问不同的适配页面
2022/8/22 5:23:56
本文主要是介绍Nginx代理:通过同个域名同个端口分别在PC端和手机端访问不同的适配页面,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、nginx配置
1、传递请求头
最终目的是要使用UserAgent头来识别用户的客户端,然后返回不同的内容给不同的UA用户。而CDN(内容分发网络)缓存并不会区分UA(UserAgent),只会区分URL(访问的地址),所以在访问同样的域名和端口时,缓存的内容是一样的。CDN支持对不同的UA来设置不同的缓存,根据vary头来控制,它的字段一般是头信息的字段。
CDN监测vary头的信息,如果内容不一致就缓存不同的内容,如果头信息一致才会缓存覆盖。
vary头需要在源站添加,即在nginx中配置代理时进行添加,配置语句如下:
add_header Vary "Accept-Encoding, User-Agent";
2、根据头信息区分跳转
已经携带了请求头,对头信息的终端类型进行判断即可,如果符合终端类型则跳转到手机页面,不符合则跳转到PC页面:
if ($http_user_agent ~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry|iPhone|Android)) { root /xxxxxx; }
3、整合如下
server { listen 80; server_name www.xxxxxx.com; location / { add_header Vary "Accept-Encoding, User-Agent"; #判断是否为手机端 if ($http_user_agent ~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry|iPhone|Android)) { root /mobile; } root /pc; index index.html index.htm; } }
/mobile为手机端部署路径,/pc为pc端部署路径。
这篇关于Nginx代理:通过同个域名同个端口分别在PC端和手机端访问不同的适配页面的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-29Nginx发布学习:从入门到实践的简单教程
- 2024-10-28Nginx发布:新手入门教程
- 2024-10-21nginx 怎么设置文件上传最大20M限制-icode9专业技术文章分享
- 2024-10-17关闭 nginx的命令是什么?-icode9专业技术文章分享
- 2024-09-17Nginx实用篇:实现负载均衡、限流与动静分离
- 2024-08-21宝塔nginx新增8022端口方法步骤-icode9专业技术文章分享
- 2024-08-21nginx配置,让ws升级为wss访问的方法步骤-icode9专业技术文章分享
- 2024-08-15nginx ws代理配置方法步骤-icode9专业技术文章分享
- 2024-08-14nginx 让访问带有/relid的地址返回404 ,例子 /relid-x-0.36-y-131.html-icode9专业技术文章分享
- 2024-08-14nginx 判断地址有/statics/的路径,指向到/home/html/statics/目录-icode9专业技术文章分享