一 域名解析

1.在nginx的配置文件中写入域名解析:

  设定www.westos.org的根目录为/www1,设定www.linux.org的根目录为/www2。

nginx域名解析缓存禁用 nginx域名解析流程_重启

2.新建/www1和/www2目录,并在目录中写入index.html文件

3.重启nginx服务,在真机中加入对域名的解析,浏览器访问就可以解析到界面:

nginx域名解析缓存禁用 nginx域名解析流程_nginx_02

nginx域名解析缓存禁用 nginx域名解析流程_nginx_03

二  https访问:

1.编辑nginx配置文件

nginx域名解析缓存禁用 nginx域名解析流程_重启_04

2.编辑完成之后执行nginx -t检测,会有报错:

nginx域名解析缓存禁用 nginx域名解析流程_nginx域名解析缓存禁用_05

 

这是因为缺少cert.pem文件,解决方法是手动生成这一文件:

进入/etc/pki/tls/certs目录,执行指令make cert.pem生成这个文件,按照提示依次输入所需要的信息,这样文件就生成成功了。

nginx域名解析缓存禁用 nginx域名解析流程_nginx_06

nginx域名解析缓存禁用 nginx域名解析流程_nginx域名解析缓存禁用_07

之后将生成的cert.pem文件复制到nginx安装目录下的conf目录,再进行nginx -t就不会报错了,nginx可以成功重启。

nginx域名解析缓存禁用 nginx域名解析流程_nginx_08

4.在浏览器里输入https://www.westos.org:

nginx域名解析缓存禁用 nginx域名解析流程_nginx_09

点击Advanced获取许可,就可以解析到https:

nginx域名解析缓存禁用 nginx域名解析流程_nginx域名解析缓存禁用_10

三   域名重定向

1.不同域名解析到同一页面

在nginx的配置文件中的server_name行加入westos.org,意思时说不管访问www.westos.org域名还是直接访问westos.org,都将通过80端口导向/www1目录中的发布文件。之后重启nginx

nginx域名解析缓存禁用 nginx域名解析流程_nginx域名解析缓存禁用_11

在真机端的/etc/hosts文件中加入对westos.org的解析,在使用curl命令的时候将访问到同样的结果:

nginx域名解析缓存禁用 nginx域名解析流程_配置文件_12

浏览器中也是:

nginx域名解析缓存禁用 nginx域名解析流程_nginx_13

nginx域名解析缓存禁用 nginx域名解析流程_配置文件_14

 

 

 

2.域名重写:

编辑配置文件:所有访问www.westos.org或者west.org且不管访问目标是以什么结尾,都将永久性重写到https://www.westos.org$1域名。$1为访问域名后面的内容。

nginx域名解析缓存禁用 nginx域名解析流程_配置文件_15

重启nginx在真机端解析:访问www.westos.org重写到https://www.westos.org

                                             访问www.westos.org重写到https://www.westos.org/index/html

nginx域名解析缓存禁用 nginx域名解析流程_重启_16

ip地址重写:

将直接访问本机ip重写到www.westos.org:

nginx域名解析缓存禁用 nginx域名解析流程_重启_17

测试:

访问172.25.17.1将直接解析到www.westos.org:

nginx域名解析缓存禁用 nginx域名解析流程_重启_18

3.  if格式重写:

nginx域名解析缓存禁用 nginx域名解析流程_nginx域名解析缓存禁用_19

真机/etc/hosts中加入bbs.westos.org的解析:

nginx域名解析缓存禁用 nginx域名解析流程_配置文件_20

四 限制:

1.下载速率限制:

   对于在nginx默认发布目录下的download目录,设定最多连接数为1个,最多一次性处理5个请求,里面的文件下载速率不超过50k/s

nginx域名解析缓存禁用 nginx域名解析流程_nginx_21

        真机端测试:

nginx域名解析缓存禁用 nginx域名解析流程_nginx域名解析缓存禁用_22

2.访问限制:

  在配置文件中写入允许和拒绝的ip,用来进行访问限制:

allow表示允许,deny表示拒绝。关于allow和deny的先后顺序,如果前者的匹配成功,就不会进行后者的匹配。举例说明如果deny all在前面,那么后面即使设定a了llow允许的ip访问由于deny先被匹配,所有的访问都将被拒绝。此处意思为对于nginx发布目录下的admin目录,允许172.25.17.250主机访问,拒绝其他主机访问。

nginx域名解析缓存禁用 nginx域名解析流程_重启_23

测试:

172.25.17.250端成功解析:

nginx域名解析缓存禁用 nginx域名解析流程_配置文件_24

172.25.17.1端403报错,访问被拒绝:

nginx域名解析缓存禁用 nginx域名解析流程_配置文件_25

3 缓存保存:

  设定对于gif、jpg、png格式的图片,缓存保留30天

nginx域名解析缓存禁用 nginx域名解析流程_nginx域名解析缓存禁用_26

测试:

访问172.25.17.1端的redhat.jpg,Cache-Control为259200秒即30天

nginx域名解析缓存禁用 nginx域名解析流程_配置文件_27

五  日志定时备份

对于指定格式的图片没有备份的必要,可以在nginx的配置文件中设定access_log off表示不保存日志:

nginx域名解析缓存禁用 nginx域名解析流程_nginx_28

在/opt目录下建立脚本文件log.sh,写入备份日志的脚本:

内容为:进入nginx安装目录下的logs目录,将该目录里用于保存日志的access.log文件重命名为access.log_日期。但在重命名之后,在产生新的日志时找不到保存日志的access.log文件,所以要重启nginx服务来生成新的access.log来保存新的日志。

nginx域名解析缓存禁用 nginx域名解析流程_nginx域名解析缓存禁用_29

crontab -e建立定时任务:

在每天的00:00时,执行/opt目录下的log.sh脚本。由于在00:00时刻日期会加一天,所以在脚本中-1day的意义就在于脚本执行后的新的一天日期减一,就是生成日志当天的日期了。这样备份日志文件后面的日期就是当天的日志日期了,实现了按天备份日志。

nginx域名解析缓存禁用 nginx域名解析流程_配置文件_30

执行脚本产生新的日志:

nginx域名解析缓存禁用 nginx域名解析流程_配置文件_31

六  防盗链

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

1. 制作盗链:

在server2端安装apache,并在默认发布目录下建立index.html文件,之后开启apache服务:

意思是当其他主机访问本机(172.25.17.2)时,将服务转到http://www.westos.org/refhat.jpg。而这个服务server2端是没有的在server1端,等同于在server2上盗链了server1的网络界面。

nginx域名解析缓存禁用 nginx域名解析流程_重启_32

效果:访问172.25.17.2,直接访问到server1端的图片:

nginx域名解析缓存禁用 nginx域名解析流程_nginx_33

2.防盗链:

   WEB应用防火墙通过实现URL级别的访问控制,对客户端请求进行检测,如果发现图片、文件等资源信息的HTTP请求来自于其它网站,则阻止盗链请求,节省因盗用资源链接而消耗的带宽和性能。

在需要防盗链的一端(server1端)编辑nginx的配置文件:

将来自其他网站的请求重写到本机的bbs.westos.org,访问者将看到本机的防盗链图片:

nginx域名解析缓存禁用 nginx域名解析流程_重启_34

重启nginx服务,访问daolian.westos.org,看到盗链图片:

nginx域名解析缓存禁用 nginx域名解析流程_nginx_35