Nginx实用功能

跨域处理

问题由来:浏览器拒绝执行其它域名下的 ajax 运作
如果浏览器在 www.baidu.com对应的html页面内,发起 ajax 请求偷盗 www.taobao.com 域名下的内容来填充自己的页面,整个互联网秩序将混乱. 为了防止这种混乱,W3C 组织制定了浏览器安全规范,即html页面发起的 ajax请求仅限于同域名后端范围,跨越域名的ajax请求不得执行,此为跨域问题。
在日常工作中,我们自己有多个子系统,避免不了要有跨越子系统的ajax请求,此时我们希望自己内部的各个子系统不必有这种跨域限制

cors解决方案
W3C制定跨域限制的本意,是防止页面领域安全混乱,即防止A公司不经B公司同意,使用ajax盗取B公司的服务内容。 出于这个本意,W3C改进了跨域的方案,即:如果B公司同意将自己的内容分享给A公司,跨域限制可放开,此方案即CORS方案,如下图:
在这里插入图片描述
nginx 跨域配置
对于比较简单的 http 请求(GET、POST、HEAD 类型),无须浏览器来问,nginx 服务器直接 在响应头部,加入同意跨域的信号即可
在这里插入图片描述
对于复杂的 http 请求(PUT、DELETE、含 json 格式数据),浏览器会在发请求前,先发一道 OPTION 请求来询问。我们在 Nginx 上直接配置对此询问的回答即可
在这里插入图片描述
以上两步Nginx配置,跨域问题解决,对业务毫无侵入性。

防盗链

目的
让资源只能在我的页面内显示,不能被其它页面直接引用

解决方案
浏览器发起的任何请求,在其 request 头部,都会标注其请求发起地的 URL,如下:
在这里插入图片描述
Nginx 配置
在这里插入图片描述

压缩

/html/js/css 压缩一下再传输,通常可减少 50%的体积
浏览器在发送请求时,会附带自己支持的压缩方式:
在这里插入图片描述
nginx 配置
在这里插入图片描述

https 配置

对称加密
在这里插入图片描述
安全隐患:钥匙除我之外,还有多个人拥有。泄露风险较大,钥匙传递的过程风险较大

非对称加密
在这里插入图片描述
优缺点:私钥很安全。但是非对称算法开销很大,大批量应用于业务,会导致性能成本过高

https加密方案
1、业务数据的加密使用对称加密,降低性能开销
2、对称密钥,采用非对称加密,保驾护航
在这里插入图片描述
Nginx配置https

  1. 前提
    查看nginx是否已经安装好了https模块
    在这里插入图片描述
    Nginx配置https需要两个东西。一个是浏览器证书(内含公钥,供浏览器加密使用),一 个是私钥(供自己解密使用)server.crt 和 server.key 可以去购买商业的。

  2. 自签证书
    自签证书生成过程如下(前提是机器里装好了openssl程序):
    在这里插入图片描述
    Nginx 内的配置如下:
    在这里插入图片描述

Nginx 高可用

  1. lvs思想解决高可用问题
    在这里插入图片描述
    如上图,由服务器集群虚拟出来一台虚拟网关vip(不真实存在,自然不存在宕机问题), 此vip由两台机器共同协商生成。当有一台机器宕机时,另一台机器一样能维持vip。这保证了,只要两台机器不同时宕机,vip就存在
  2. keepalived配置lvs过程
    前提
    1.关闭 selinux,打开/etc/sysconfig/selinux 设置其中值 SELINUX=disabled
    2.安装必须的依赖包 yum -y install libnl libnl-devel libnfnetlink-devel
    安装keepalived
    wget https://www.keepalived.org/software/keepalived-1.3.4.tar.gz
    配置(指定安装目录和配置目录,否则文件太散乱)
    ./configure --prefix=/usr/local/keepalived --sysconf=/etc
    make && make install
    keepalived主机配置
    打开/etc/keepalived/keepalived.conf,只需要配置如下一段
    在这里插入图片描述
    启动keepalived,通过命令ip addr查看机器ip地址,可发现多出一个244.200 的ip,此时使用原ip地址244.253能打开的页面,使用244.200也能打开
    keepalived 从机配置
    从机配置与主机过程完全一样,配置文件内以下标识id与优先级稍作变化即可
    在这里插入图片描述
    启动从机的keepalived后,可发现其ip地址无变化
    keepalived校验lvs效果
    1、此时,杀掉主机上的keepalived,244.200的ip将从主机上消失。而出现的从机的ip中
    2、再次启动主机的keepalived,244.200的ip将被主机重新夺回
    3、此效果是单主单备方式。备机资源有一定的浪费。可以重复前面的动作,虚拟出第二个ip,将主从机优先级颠倒,从而利用起备机服务
    keepalived监控服务软件
    a、使用keepalived来监控nginx
    编辑一个 sh 监控脚本,sh 脚本:
    在这里插入图片描述
    b、在配置文件中加入以下两处配置:
    在这里插入图片描述
    c、重启 keepalived,测试监控效果,如下图操作:
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值