企业部分实战-----nginx重定向+盗链与防盗链

一、nginx重定向的实现

1.简单重定向

我们平常访问淘宝的时候都会使用taobao.com,而不是http://www.taobao.com,这就是重定向,当以taobao.com访问的时候定向到http://www.taobao.com。接下来,实现简单的重定向。

(1)修改配置文件,设置虚拟主机,当以www.westos.org访问虚拟主机时,进行重定向,并重启。
在这里插入图片描述

nginx -t
nginx -s reload

(2)真机测试,写入解析
在这里插入图片描述

2.80重定向443

(1) cert.pem文件的制作
在这里插入图片描述
在这里插入图片描述
在真机中测试:
在这里插入图片描述
备注:302临时重定向不缓存,301永久重定向缓存

3.重定向的升级版

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
备注:能正确实现访问和实现资源重定向的前提是输入的域名必须是正确的
即 server_name www.westos.org 和bbs.westos.org;
4.nginx服务器状态可视化

vim /usr/local/lnmp/nginx/conf/nginx.conf
nginx -s reload

测试:
在这里插入图片描述
查看状态不产生日志

vim /usr/local/lnmp/nginx/conf/nginx.conf
nginx -s reload

访问控制在这里插入图片描述
测试:
黑名单用户访问
在这里插入图片描述

白名单用户访问
在这里插入图片描述
访问目录

在这里插入图片描述

创建测试目录并放入文件
mkdir /usr/local/nginx/html/download
在这里插入图片描述

测试
在这里插入图片描述
网页加密

vim /usr/local/nginx/conf/nginx.conf
在这里插入图片描述
在这里插入图片描述

生成cert.pem文件并重启服务

cd /etc/pki/tls/certs/
make cert.pem
mv cert.pem /usr/local/nginx/conf/
nginx -s reload

测试
访问http://www.westos.org会自动跳转https://www.westos.org
在这里插入图片描述
nginx服务器的平滑升级

 例如正在使用版本是1.19.1
# 需要更新到1.19.4版本
# 解压1.19.4版本的源码包,并编译,注意不要make install ,否则会覆盖之前旧版本的nginx。参数要和之前安装1.19.1版本的相同
# 复制正在使用版本的nginx命令文件
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/oldnginx
# 复制新版本源码包的nginx命令文件,将旧版本覆盖
cp -f ./nginx-1.19.4/objs/nginx /usr/local/nginx/sbin/nginx
# 查看nginx主进程的进程号,并用kill民令将新版本主进程开启
ps ax | grep nginx
[root@server9 objs]# ps ax | grep nginx
 7482 ?        Ss     0:00 nginx: master process nginx
 7483 ?        S      0:00 nginx: worker process
 7584 pts/0    R+     0:00 grep --color=auto nginx

kill -USR2 7482
[root@server9 objs]# kill -USR2 7482
[root@server9 objs]# ps ax | grep nginx
 7482 ?        Ss     0:00 nginx: master process nginx
 7483 ?        S      0:00 nginx: worker process
 7597 ?        S      0:00 nginx: master process nginx
 7598 ?        S      0:00 nginx: worker process
 7601 pts/0    R+     0:00 grep --color=auto nginx
# 回收就版本的nginx:worker进程
 kill -WINCH 7482
 [root@server9 objs]# kill -WINCH 7482
[root@server9 objs]# ps ax | grep nginx
 7482 ?        Ss     0:00 nginx: master process nginx
 7597 ?        S      0:00 nginx: master process nginx
 7598 ?        S      0:00 nginx: worker process
 7712 pts/0    R+     0:00 grep --color=auto nginx
 # 查看
[root@server9 sbin]# curl localhost -I
HTTP/1.1 200 OK
Server: nginx/1.19.4 # !!!!!!!!!!!!!!
Date: Thu, 05 Nov 2020 03:14:13 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Sun, 01 Nov 2020 04:12:14 GMT
Connection: keep-alive
ETag: "5f9e359e-264"
Accept-Ranges: bytes
# 版本回退
# 唤醒旧版本worker进程
# 回收新版版worker进程
[root@server5 sbin]# ps ax | grep nginx
 9819 ?        Ss     0:00 nginx: master process nginx
 9895 ?        S      0:00 nginx: master process nginx
 9981 ?        S      0:00 nginx: worker process
10179 pts/0    R+     0:00 grep --color=auto nginx
[root@server9 sbin]# kill -HUP 9819
[root@server9 sbin]# kill -WINCH 9895

 # 查看
 [root@server9 sbin]# curl localhost -I
HTTP/1.1 200 OK
Server: nginx/
Date: Thu, 05 Nov 2020 03:18:35 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Sun, 01 Nov 2020 04:12:14 GMT
Connection: keep-alive
ETag: "5f9e359e-264"
Accept-Ranges: bytes
# 退出新版本主进程
[root@server9 sbin]# kill -QUIT 9895
[root@server9 sbin]# ps ax | grep nginx
 9819 ?        Ss     0:00 nginx: master process nginx
10191 ?        S      0:00 nginx: worker process
10293 pts/0    R+     0:00 grep --color=auto nginx

nginx的日志分离
在企业生产环境中由于服务器的访问量十分巨大,产生的日志文件也非常多,可能会需要对日志截取分析

# vim /opt/nginxlog.sh
cd /usr/local/nginx/logs && mv access.log access_$(date +%F -d -1day).log
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
chmod +x /opt/nginxlog.sh

执行一次测试效果
sh /opt/nginxlog.sh

根据实际需求,将脚本添加到定时任务中

# vim /etc/crontab
0 0 * * * sh /opt/nginxlog.sh # 每天执行一次

防止域名恶意解析到服务器IP
简单来说就是访问的重定向,修改nginx配置文件
在这里插入图片描述
在这里插入图片描述
创建www目录编写默认发布页


mkdir /bbs
echo bbs.westos.com > /bbs/index.html
nginx -s reload

测试:
在这里插入图片描述

二、nginx盗链与防盗链

盗链是指服务提供商自己不提供服务的内容,通过技术手段绕过其它有利益的最终用户界面(如广告),直接在自己的网站上向最终用户提供其它服务提供商的服务内容,骗取最终用户的浏览和点击率。受益者不提供资源或提供很少的资源,而真正的服务提供商却得不到任何的收益。
盗链是指用户在访问一台服务器资源时,这台服务器从另一台服务器上盗取资源链接让用户访问
盗链的实现
在被访问的服务器上编写盗链脚本

src地址为要盗取哪台服务器的资源
vim /usr/local/nginx/html/test.html

<html>
<body>
<img src="http://www.westos.org/vim.jpg">
</body>
</html>

在被盗取主机里边添加脚本里面的资源
在这里插入图片描述

使用客户机访问主机脚本在这里插入图片描述
盗链对被盗主机显然是非常不公平的,所以就有了防盗链,原理为在被盗时将资源地址转向另外一个地址
在这里插入图片描述

将资源转向172.25.12.12主机的一个图片,保证这个主机有这个图片资源
在这里插入图片描述

防盗链测试,资源转向成功
在这里插入图片描述

三、日志图形化管理

goaccess 日志可视化

tar -xzvf goaccess-1.4.tar.gz
cd goaccess-1.4/
./configure --enable-utf8 --enable-geoip=legacy
make && make install

使用方法:

cd /usr/local/nginx/logs/
goaccess access.log -o /usr/local/nginx/html/report.html --log-format=COMBINED --real-time-html

测试效果:在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值