基于Nginx的中间件架构(三):Rewrite规则、secure_link和Geoip读取地域信息模块、HTTPS服务

上一篇:基于Nginx的中间件架构(二):代理服务、负载均衡、缓存服务、动静分离

一、Rewrite规则(常用

《基于Nginx的中间件架构(三):Rewrite规则、secure_link和Geoip读取地域信息模块、HTTPS服务》

1.1 regex正则表达式

《基于Nginx的中间件架构(三):Rewrite规则、secure_link和Geoip读取地域信息模块、HTTPS服务》

《基于Nginx的中间件架构(三):Rewrite规则、secure_link和Geoip读取地域信息模块、HTTPS服务》

《基于Nginx的中间件架构(三):Rewrite规则、secure_link和Geoip读取地域信息模块、HTTPS服务》

《基于Nginx的中间件架构(三):Rewrite规则、secure_link和Geoip读取地域信息模块、HTTPS服务》

《基于Nginx的中间件架构(三):Rewrite规则、secure_link和Geoip读取地域信息模块、HTTPS服务》

《基于Nginx的中间件架构(三):Rewrite规则、secure_link和Geoip读取地域信息模块、HTTPS服务》

更多详细的请参考:PHP正则表达式函数解析与正则表达式基本语法

1.2 flag

1.2.1 last和break的区别

《基于Nginx的中间件架构(三):Rewrite规则、secure_link和Geoip读取地域信息模块、HTTPS服务》

《基于Nginx的中间件架构(三):Rewrite规则、secure_link和Geoip读取地域信息模块、HTTPS服务》

匹配到同样的
location以后,
last会重新请求服务端,请求服务端地址变成以
test结尾的路径地址,即查找匹配并重新跳转到对应的
location。相当于模拟了另一次请求。

break只会停留在当级location下然后找/test/,不会往下再查找对应的location的规则或者匹配。这样浏览器会报404错误。

1.2.2 redirect和permanent的区别

《基于Nginx的中间件架构(三):Rewrite规则、secure_link和Geoip读取地域信息模块、HTTPS服务》

永久重定向:
客户端会永久保存重定向结果,如果重定向服务器关了也会重定向到重定向页面,除非清理浏览器缓存。

临时重定向:会重新向服务器发起请求。

1.3 配置场景

《基于Nginx的中间件架构(三):Rewrite规则、secure_link和Geoip读取地域信息模块、HTTPS服务》

1.4 规则优先级

《基于Nginx的中间件架构(三):Rewrite规则、secure_link和Geoip读取地域信息模块、HTTPS服务》

二、进阶高级模块(重要

2.1 secure_link模块实现请求资源验证

2.1.1 功能

《基于Nginx的中间件架构(三):Rewrite规则、secure_link和Geoip读取地域信息模块、HTTPS服务》

2.1.2 语法

《基于Nginx的中间件架构(三):Rewrite规则、secure_link和Geoip读取地域信息模块、HTTPS服务》

2.1.3 验证图示

《基于Nginx的中间件架构(三):Rewrite规则、secure_link和Geoip读取地域信息模块、HTTPS服务》

《基于Nginx的中间件架构(三):Rewrite规则、secure_link和Geoip读取地域信息模块、HTTPS服务》

《基于Nginx的中间件架构(三):Rewrite规则、secure_link和Geoip读取地域信息模块、HTTPS服务》

《基于Nginx的中间件架构(三):Rewrite规则、secure_link和Geoip读取地域信息模块、HTTPS服务》

2.2 Geoip读取地域信息

2.2.1 使用场景

《基于Nginx的中间件架构(三):Rewrite规则、secure_link和Geoip读取地域信息模块、HTTPS服务》

《基于Nginx的中间件架构(三):Rewrite规则、secure_link和Geoip读取地域信息模块、HTTPS服务》

2.2.2 访问可控规则,国家或城市场景配置

《基于Nginx的中间件架构(三):Rewrite规则、secure_link和Geoip读取地域信息模块、HTTPS服务》

《基于Nginx的中间件架构(三):Rewrite规则、secure_link和Geoip读取地域信息模块、HTTPS服务》

三、基于Nginx的HTTPS服务

3.1 为什么需要HTTPS?

《基于Nginx的中间件架构(三):Rewrite规则、secure_link和Geoip读取地域信息模块、HTTPS服务》

3.2 HTTPS加密协议

3.2.1 对称加密:加密和解密密钥都一样

《基于Nginx的中间件架构(三):Rewrite规则、secure_link和Geoip读取地域信息模块、HTTPS服务》

3.2.2 非对称加密:一个公钥对应一个私钥

《基于Nginx的中间件架构(三):Rewrite规则、secure_link和Geoip读取地域信息模块、HTTPS服务》

3.2.3 HTTPS加密协议原理

同时利用非对称加密和对称加密

《基于Nginx的中间件架构(三):Rewrite规则、secure_link和Geoip读取地域信息模块、HTTPS服务》

解决不了中间人伪造客户端和服务端

《基于Nginx的中间件架构(三):Rewrite规则、secure_link和Geoip读取地域信息模块、HTTPS服务》

3.3 CA证书校验

《基于Nginx的中间件架构(三):Rewrite规则、secure_link和Geoip读取地域信息模块、HTTPS服务》

3.4 NginX下Openssl的构建和部署数字证书,支持HTTPS

《基于Nginx的中间件架构(三):Rewrite规则、secure_link和Geoip读取地域信息模块、HTTPS服务》

参考:NginX下Openssl的构建和部署数字证书,支持HTTPS

下一篇:基于Nginx的中间件架构(四):Lua基础、性能优化、安全篇、架构总结

参考视频资料:Nginx入门到实践 不管是运维还是开发 Nginx都是你的必备技能

    原文作者:安全
    原文地址: https://segmentfault.com/a/1190000013571462
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞