2019/05/30 实现反向代理动静分离负载均衡

referer是个防盗链的功能(一个页面,里面的内容来自于别的网站,利用别的网站来为你的网站提供服务
在这里插入图片描述
在这里插入图片描述
搭建两个网站
在这里插入图片描述
在这里插入图片描述
现在编写一个盗链的页面在这里插入图片描述
找一个图片
在这里插入图片描述
这个页面时放在B的网站上
在这里插入图片描述
A去盗链
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
应该是盗链成功
在这里插入图片描述
在这里插入图片描述
显然这个文件应该来自于b.com,无形中a.com调用了b.com
在这里插入图片描述
在这里插入图片描述
用referer模块就可以避免盗链,有效访问,referer就是从哪个页面跳转过来的意思
在这里插入图片描述
可以通过valid_referer来判断哪些合法哪些非法

在这里插入图片描述
点击B.com跳转到b.com上去
在这里插入图片描述
现在要b的网站记录日志
在这里插入图片描述
在这里插入图片描述
格式定义再nginx主配置文件定义的
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
重新加载
在这里插入图片描述
a网站上点击就跳转到b网站上去
在这里插入图片描述
在这里插入图片描述
现在通过网站访问一下
在这里插入图片描述
点击跳转到B网站,B网站上的日志,看到从前一个页面跳转到自己的页面
在这里插入图片描述
这就是http的referer首部
在这里插入图片描述
根据首部就可以判断从别的页面的非法用户还是正常访问的用户
在这里插入图片描述
为空的就是从浏览器直接输入跳转
在这里插入图片描述
在这里插入图片描述
/就相当于从浏览器直接访问了
谁是合法的
在这里插入图片描述
在这里插入图片描述
头部没有referer请求,所以后面收到的日志是空的
在这里插入图片描述
servernname 可以是域名,还可以是模式
在这里插入图片描述
在这里插入图片描述
**什么是合法的,里面为空,
block有referer但是没有内容
server_name 代表你访问网站的域名(可以写通配符,也可以写正则表达式
**
在这里插入图片描述
刚才b被盗链了,所以应该再B的机器上加
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
加上盗链页面,可是想看图片估计被屏蔽了
在这里插入图片描述
别的网站就不给你提供服务了
在这里插入图片描述
有没有破解盗链的技术
在这里插入图片描述
以前前端有这么个写法
在这里插入图片描述
下面的图片链接没出来
在这里插入图片描述
现在把防盗链屏蔽掉,在这里插入图片描述
在这里插入图片描述
ifname代码有问题
在这里插入图片描述

应该写成如下
在这里插入图片描述
在这里插入图片描述
现在就能破解防盗链
在这里插入图片描述
不行
在这里插入图片描述
看来目前防盗链技术还是不错的
在这里插入图片描述
在这里插入图片描述
重要的反向代理,不仅作为优秀的服务器,还可以作为反向代理服务器
在这里插入图片描述
至少准备三台机器
17 hostname web1
7 做中间代理服务器 nginx

在这里插入图片描述
安装httpd
在这里插入图片描述
创建一个页面
在这里插入图片描述
现在通过中间的代理服务器代理到后端
在这里插入图片描述
一个物理网卡绑定两个位置,公网ip和内网ip,30.7就把一块网卡作为桥接模式
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
17是没有配置网关的,现在再30.7上做反向代理
访问nginx服务器的时候,看到是80端口,就转发啊到后端web服务器上

在这里插入图片描述
需要配置反向代理服务器
在这里插入图片描述
proxy_pass你把这个地址代理到哪里去
在这里插入图片描述
现在把前端请求代理到后端服务器上去,当访问跟的时候,转发到后端服务器上去
在这里插入图片描述
成功了
在这里插入图片描述
收到的请求是nginx的,不是客户端的
在这里插入图片描述
在这里插入图片描述
查看nginx的日志
在这里插入图片描述
在这里插入图片描述
链接数不能太大,因为端口是有限的,所以一般请求控制再3万以内
在这里插入图片描述
如果现在是希望只有特定的链接,域名才跳转,访问bbs跳转到forum
在这里插入图片描述
redirect 临时重定向
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
404没有发现,说明其实已经转发了
再后端web服务器建立一个forum

在这里插入图片描述
有了这个页面就成功了
在这里插入图片描述在这里插入图片描述
下面的更精确就把地址进行修改了
但是如果后端服务器的端口号改成另外一个

在这里插入图片描述
502网关出错
在这里插入图片描述
nginx就也需要改成8080
在这里插入图片描述
在这里插入图片描述
如果只针对bbs目录才转发,别的目录不转发
先把端口恢复

在这里插入图片描述
在这里插入图片描述
没有加斜线
转过去以后没有发现bbs

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
成功了
在这里插入图片描述
说明,说是bbs转发到17,但是并不是针对发到nginx,而是转发到nginx下的bbs
加上斜线之后就可以转发到跟上了(访问bbs的时候转发到跟上

在这里插入图片描述
在这里插入图片描述
所以这个地方斜线有没有是很重要的
在这里插入图片描述
加斜线说明有url,有斜线将来会置换路径、
没有斜线,就不是置换,而是把你访问的域名补加在后面,附加在后面充当url

在这里插入图片描述
也可以加上~,正则表达式
在这里插入图片描述
在这里插入图片描述
发现严重错误,表面说没错误,但实际上是语法错误
proxy_pass不能有url部分,带有正则表达式的
proxy_pass前面不能用正则表达式

在这里插入图片描述
在这里插入图片描述
不带斜线就可以
只要是前面是正则表达式,后面就不能是url

在这里插入图片描述
当后面只要是静态页面,这些就调度到后台机器上,如果不是就不往这里调度
在这里插入图片描述

在这里插入图片描述
30.17存放图片
在这里插入图片描述
在这里插入图片描述
希望前端nginx服务器收到图片请求才往后面调度
在这里插入图片描述
在这里插入图片描述
这个图片明显是转发了
在这里插入图片描述
nginx没有图片
在这里插入图片描述
在这里插入图片描述
别的还是该访问访问
在这里插入图片描述
将来就可以 实现动静分离
在这里插入图片描述
17当php服务器,6.9作为纯静态的
30.7反向代理服务器,27将来做mysql
30.6做客户端

在这里插入图片描述
后端数据库装上
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
php和httpd在一个服务器上,php配置文件都不需要去修改
在这里插入图片描述
配置http文件,让它能去访问fpm
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
测试一下链接数据库
在这里插入图片描述
在这里插入图片描述
再定义一个index.php
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
现在应该是成了
在这里插入图片描述
创建静态服务器页面资源
在这里插入图片描述
在这里插入图片描述
现在就要配置反向代理
在这里插入图片描述
现在客户端访问调度的是静态服务器地址
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
动静分离
在这里插入图片描述
面试也会经常问到有没有/线的作用
在这里插入图片描述
web服务看到的是反向代理服务器在访问不是真正的用户在访问
将来分析用户从哪里来就不好分析了,没有办法分析行为来源了

在这里插入图片描述

发布了252 篇原创文章 · 获赞 6 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/qq_42227818/article/details/90700415