【运维知识进阶篇】集群架构-Rewrite重定向(下)

简介: 【运维知识进阶篇】集群架构-Rewrite重定向(下)

案例4:访问course-11-22-33.html实际真实访问/course/11/22/33/course_33.html

1. [root@Web01 conf.d]# mkdir -p /code/rewrite/course/
2. 11/22/33
3. [root@Web01 conf.d]# echo '/code/rewrite/course/11/22/33' >
4. /code/rewrite/course/11/22/33/course_33.html
5. [root@Web01 conf.d]# vim /etc/nginx/conf.d/rewrite.conf 
6. server {
7.         listen 80;
8.         server_name rewrite.koten.com;
9.         root /code/rewrite;
10.         index index.html;
11. 
12.         location / {
13.                 rewrite ^/course-(.*)-(.*)-(.*).html$ /course/$1/$2/$3/course_$3.html redirect;
14.         }
15. }
16. ~                                                  
17. ~                                                  
18. ~                                                  
19. ~                                                  
20. ~                                                  
21. "rewrite.conf" 10L, 230C written 
22. [root@Web01 conf.d]# systemctl restart nginx

案例5:将http请求跳转到https

1. [root@Web01 conf.d]# vim /etc/nginx/conf.d/rewrite.conf
2. server {
3.         listen 443;
4.         server_name rewrite.koten.com;
5. 
6.         location / {
7.                 root /code;
8.                 index index.php index.html;
9.         }
10. }
11. 
12. server {
13.         listen 80;
14.         server_name rewrite.koten.com;
15. 
16.         rewrite ^(.*) https://$server_name$1 redire
17. ct;
18. "rewrite.conf" 17L, 285C written 
19. [root@Web01 conf.d]# nginx -t
20. nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
21. nginx: configuration file /etc/nginx/nginx.conf test is successful
22. [root@Web01 conf.d]# systemctl restart nginx

案例6:错误页跳转

1. [root@Web01 rewrite]# cat /etc/nginx/conf.d/rewrite.conf
2. server {
3.         listen 80;
4.  server_name rewrite.koten.com;
5. 
6.         root /code/rewrite;
7. 
8.         error_page 403 404 500 501 502 @error_test;
9.         location @error_test {
10.         rewrite ^(.*)$ /404.png break;
11.         }
12. }
13. 
14. [root@Web01 rewrite]# systemctl restart nginx

案例7:在跳转的请求行后加上想要的参数&showoffline=1

1. [root@Web01 rewrite]# vim /etc/nginx/conf.d/rewrite.conf
2. server {
3.     listen 80;
4.     server_name rewrite.koten.com;
5. 
6. set $args "&showoffline=1";
7.     location / {
8.         root /code/rewrite;
9.         index index.html;
10.     }
11. if ($remote_addr = 10.0.0.1 ){
12.         rewrite (.*) http://rewrite.koten.com$1;
13.     }
14. }
15. ~                                                  
16. ~                                                  
17. ~                                                  
18. <rewrite.conf" 13L, 252C written 
19. [root@Web01 rewrite]# systemctl restart nginx
20.

案例8:网站维护,指定IP正常访问,其他IP跳转至维护页面

1. [root@Web01 rewrite]# vim /etc/nginx/conf.d/rewrite.conf
2. server {
3.     listen 80;
4.     server_name rewrite.koten.com;
5.     root /code/rewrite;
6.     charset utf-8,gbk;
7. 
8.     location / {
9.         index index.html;
10. if ($remote_addr != "10.0.0.2"){
11.             rewrite ^(.*)$ /网站维护.jpg break; #如
12. 果来源IP不等于10.0.0.1,则跳转维护页面
13.         }
14.     }
15. 
16. 
17. }
18. <rewrite.conf" 16L, 321C written 
19. [root@Web01 rewrite]# systemctl restart nginx

 

Nginx内置参数

1. $args               #这个变量等于请求行中的参数。
2. $content_length     #请求头中的Content-length字段。
3. $content_type       #请求头中的Content-Type字段。
4. $document_root      #当前请求在root指令中指定的值。
5. $host               #请求主机头字段,否则为服务器名称。
6. $http_user_agent    #客户端agent信息
7. $http_cookie        #客户端cookie信息
8. $limit_rate         #这个变量可以限制连接速率。
9. $request_body_file  #客户端请求主体信息的临时文件名。
10. $request_method     #客户端请求的动作,通常为GET或POST。
11. $remote_addr        #客户端的IP地址。
12. $remote_port        #客户端的端口。
13. $remote_user        #已经经过Auth Basic Module验证的用户名。
14. $request_filename   #当前请求的文件路径,由root或alias指令与URI请求生成。
15. $query_string       #与$args相同。
16. $scheme             #HTTP方法(如http,https)。
17. $server_protocol    #请求使用的协议,通常是HTTP/1.0或HTTP/1.1。
18. $server_addr        #服务器地址,在完成一次系统调用后可以确定这个值。
19. $server_name        #服务器名称。
20. $server_port        #请求到达服务器的端口号。
21. $request_uri        #包含请求参数的原始URI,不包含主机名,如:”/foo/bar.php?arg=baz”。
22. $uri                #不带请求参数的当前URI,$uri不包含主机名,如”/foo/bar.html”。
23. $document_uri       #与$uri相同。
24. $X-Forwarded-For:HTTP的请求端真实的IP,只有在通过了HTTP 代理或者负载均衡服务器时才会添加该项。标准格式如下:X-Forwarded-For: client1, proxy1, proxy2

我是koten,10年运维经验,持续分享运维干货,感谢大家的阅读和关注!

目录
相关文章
|
2月前
|
消息中间件 负载均衡 中间件
⚡ 构建真正的高性能即时通讯服务:基于 Netty 集群的架构设计与实现
本文介绍了如何基于 Netty 构建分布式即时通讯集群。随着用户量增长,单体架构面临性能瓶颈,文章对比了三种集群方案:Nginx 负载均衡、注册中心服务发现与基于 ZooKeeper 的消息路由架构。最终选择第三种方案,通过 ZooKeeper 实现服务注册发现与消息路由,并结合 RabbitMQ 支持跨服务器消息广播。文中还详细讲解了 ZooKeeper 搭建、Netty 集群改造、动态端口分配、服务注册、负载均衡及消息广播的实现,构建了一个高可用、可水平扩展的即时通讯系统。
203 0
|
4月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
5月前
|
负载均衡 算法 关系型数据库
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL集群架构负载均衡故障排除与解决方案
本文深入探讨 MySQL 集群架构负载均衡的常见故障及排除方法。涵盖请求分配不均、节点无法响应、负载均衡器故障等现象,介绍多种负载均衡算法及故障排除步骤,包括检查负载均衡器状态、调整算法、诊断修复节点故障等。还阐述了预防措施与确保系统稳定性的方法,如定期监控维护、备份恢复策略、团队协作与知识管理等。为确保 MySQL 数据库系统高可用性提供全面指导。
|
5月前
|
存储 NoSQL Redis
阿里面试:Redis 为啥那么快?怎么实现的100W并发?说出了6大架构,面试官跪地: 纯内存 + 尖端结构 + 无锁架构 + EDA架构 + 异步日志 + 集群架构
阿里面试:Redis 为啥那么快?怎么实现的100W并发?说出了6大架构,面试官跪地: 纯内存 + 尖端结构 + 无锁架构 + EDA架构 + 异步日志 + 集群架构
阿里面试:Redis 为啥那么快?怎么实现的100W并发?说出了6大架构,面试官跪地: 纯内存 + 尖端结构 +  无锁架构 +  EDA架构  + 异步日志 + 集群架构
|
6月前
|
运维 供应链 前端开发
中小医院云HIS系统源码,系统融合HIS与EMR功能,采用B/S架构与SaaS模式,快速交付并简化运维
这是一套专为中小医院和乡镇卫生院设计的云HIS系统源码,基于云端部署,采用B/S架构与SaaS模式,快速交付并简化运维。系统融合HIS与EMR功能,涵盖门诊挂号、预约管理、一体化电子病历、医生护士工作站、收费财务、药品进销存及统计分析等模块。技术栈包括前端Angular+Nginx,后端Java+Spring系列框架,数据库使用MySQL+MyCat。该系统实现患者管理、医嘱处理、费用结算、药品管控等核心业务全流程数字化,助力医疗机构提升效率和服务质量。
343 4
|
6月前
|
存储 SQL 并行计算
【赵渝强老师】达梦数据库MPP集群的架构
达梦数据库提供大规模并行处理(MPP)架构,以低成本实现高性能并行计算,满足海量数据存储和复杂查询需求。DM MPP采用完全对等无共享体系,消除主节点瓶颈,通过多节点并行执行提升性能。其执行流程包括主EP生成计划、分发任务、各EP并行处理及结果汇总返回。为确保高可用性,建议结合数据守护部署。
151 0
|
4月前
|
数据采集 机器学习/深度学习 人工智能
运维人的“福音”?AI 驱动的自动化网络监控到底香不香!
运维人的“福音”?AI 驱动的自动化网络监控到底香不香!
319 0
|
25天前
|
人工智能 运维 安全
运维老哥的救星?AI 驱动的自动化配置管理新趋势
运维老哥的救星?AI 驱动的自动化配置管理新趋势
80 11
|
3月前
|
机器学习/深度学习 人工智能 运维
运维不背锅,从“自动修锅”开始:AI自动化运维是怎么回事?
运维不背锅,从“自动修锅”开始:AI自动化运维是怎么回事?
294 49
|
2月前
|
运维 Prometheus 监控
系统崩了怪运维?别闹了,你该问问有没有自动化!
系统崩了怪运维?别闹了,你该问问有没有自动化!
100 9

热门文章

最新文章