CentOS7.4——Apache优化应用四(防盗链)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS7.4——Apache优化应用四(防盗链)相关的知识,希望对你有一定的参考价值。

Apache优化应用四(防盗链)
目录
第一部分 准备工作
第二部分 安装Apache服务
第三部分 配置盗链
第四部分 配置基于域名的防盗链

第一部分 准备工作
一:服务器两台:Linux系统—CentOS 7.4;
IP地址:192.168.80.10(合法服务器)
192.168.80.40(非法盗链服务器)
注意:两台服务器都要安装Apahce服务
技术分享图片
客户端:以WIN7为例,测试验证结果,与服务器在同一网段;
IP地址:192.168.80.2

二:准备压缩包
技术分享图片
//apr-1.6.2.tar.gz和apr-util-1.6.0.tar.gz是httpd2.4以后的版本所需要的插件,必须安装

三:将防火墙与selinux关闭
技术分享图片

第二部分 安装Apache服务
一:安装编译工具与插件
[[email protected] ~]# yum -y install \

gcc \
gcc-c++ \
make \
pcre-devel \
expat-devel \
perl

二:解压:
[[email protected] ~]# tar xf apr-1.6.2.tar.gz
[[email protected] ~]# tar xf apr-util-1.6.0.tar.gz
[[email protected] ~]# tar xf httpd-2.4.29.tar.bz2
[[email protected] ~]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[[email protected] ~]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util

三:配置(自定义个性化配置)
[[email protected] ~]# cd httpd-2.4.29 //必须进入安装目录下
[[email protected] httpd-2.4.29]# ./configure \

--prefix=/usr/local/httpd \ //指定将httpd程序安装到/usr/local/httpd目录下
--enable-so \ //启用动态加载模块功能
--enable-rewrite \ //启用网页地址重写功能,用于网站优化及目录迁移
--enable-charset-lite \ //启用字符集支持,以便支持使用各种字符集编码的网页
--enable-cgi //启用CGI脚本程序支持,便于扩展网站的应用访问能力

四:编译及安装
[[email protected] httpd-2.4.29]# make && make install

//将httpd服务添加到系统服务
[[email protected] httpd-2.4.29]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
[[email protected] httpd-2.4.29]# vi /etc/init.d/httpd
添加以下两行(注意,“#”不能省略):
技术分享图片
保存退出

[[email protected] httpd-2.4.29]# chkconfig --add httpd //将httpd加入到SERVICE管理器
[[email protected] httpd-2.4.29]# systemctl daemon-reload //重载系统系统管理器

五:编辑httpd主配置文件
[[email protected] httpd-2.4.29]# vi /usr/local/httpd/conf/httpd.conf
修改以下内容:
ServerName localhost
保存退出
//优化执行路径(执行程序文件的原路径不在PATH环境变量中,做个软链接使其可以执行)
[[email protected] httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf /etc/
[[email protected] httpd-2.4.29]# ln -s /usr/local/httpd/bin/* /usr/local/bin/

//检查语法错误
[[email protected] httpd-2.4.29]# httpd –t
或者:[[email protected] httpd-2.4.29]# apachectl –t
技术分享图片
//查看程序版本
技术分享图片

六:启动服务
[[email protected] httpd-2.4.29]# systemctl start httpd
[[email protected] httpd-2.4.29]# systemctl enable httpd //将httpd设为开机启动
[[email protected] httpd-2.4.29]# netstat -anpt | grep 80 //查看httpd服务运行状态
技术分享图片

七:验证
用WIN7客户端访问服务器
浏览器访问:http://192.168.80.10
技术分享图片
浏览器访问:http://192.168.80.40
技术分享图片
验证成功
(注意,网页默认显示内容为:/usr/local/httpd/htdocs/index.html
技术分享图片

第三部分 配置盗链
一:在合法服务器上配置网页文件
[[email protected] ~]# cd /usr/local/httpd/htdocs/
[[email protected] htdocs]# vi index.html
<html>
<title>I AM OK!</title>
<body>
<h1> Test Page! </h1>
<img src="12.jpg">
</body>
</html>
技术分享图片
保存退出
[[email protected] htdocs]# service httpd restart //重启服务

二:验证
Win7下访问:192.168.80.10
技术分享图片

三:在非法盗链服务器上配置网页文件
[[email protected] ~]# cd /usr/local/httpd/htdocs/
[[email protected] htdocs]# vi index.html
<html>
<title>I AM Hei</title>
<body>
<h1> Hei..Hei! </h1>
<img src="http://192.168.80.10/12.jpg">;
</body>
</html>
技术分享图片
保存退出
[[email protected] htdocs]# service httpd restart //重启服务

四:验证
Win7下访问192.168.80.40
技术分享图片
//验证盗链成功

第四部分 配置基于域名的防盗链
第一步:配置合法服务器
一:搭建DNS
[[email protected] htdocs]# yum install -y bind bind-utils
[[email protected] htdocs]# vi /etc/named.conf //编辑dns主配置文件
技术分享图片
[[email protected] htdocs]# vi /etc/named.rfc1912.zones //编辑dns区域配置文件
技术分享图片
[[email protected] htdocs]# cd /var/named/ //编辑dns区域数据文件
[[email protected] named]# cp -p named.localhost aa.com.zone
[[email protected] named]# vi aa.com.zone
技术分享图片
[[email protected] named]# service named restart //重启dns服务
[[email protected] named]# netstat -anpt | grep named //查看dns运行状态
技术分享图片
[[email protected] named]# nslookup www.aa.com //解析www.aa.com
技术分享图片
[[email protected] named]# vi /etc/resolv.conf //配置服务器dns
servername 192.168.80.10
保存退出
[[email protected] named]# systemctl restart named

二:Win7下配置DNS
技术分享图片
测试DNS
技术分享图片
//dns搭建成功

三:创建虚拟目录
[[email protected] ~]# vi /etc/httpd.conf //编辑http主配置文件
添加以下内容:
Alias /doc/ "/opt/doc/"
<Directory "/opt/doc">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
Require all granted
</Directory>
技术分享图片
保存退出
[[email protected] ~]# apachectl –t //检查语法错误
[[email protected] ~]# service httpd restart //重启服务

将error.jpg(防盗链文件)放到/opt/doc/目录下
技术分享图片

四:配置防盗链
[[email protected] ~]# apachectl -D DUMP_MODULES | grep rewrite //检查模块
[[email protected] ~]# vi /etc/httpd.conf
添加以下内容:
LoadModule rewrite_module modules/mod_rewrite.so //添加防盗链模块
技术分享图片
保存退出
[[email protected] ~]# apachectl -t //检查语法错误
[[email protected] htdocs]# vi /etc/httpd.conf
//针对目录做防盗链处理,在htdocs目录属性最后位置新增
<Directory "/usr/local/httpd/htdocs">该位置最后
添加以下内容:
RewriteEngine On //白名单,只允许自己网站内容
RewriteCond %{HTTP_REFERER} !^http://192.168.80.10/
RewriteCond %{HTTP_REFERER} !^http://aa.com/.
$ [NC]
RewriteCond %{HTTP_REFERER} !^http://aa.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.aa.com/.$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.aa.com$ [NC]
RewriteRule .
.(gif|jpg|swf|png)$ http://www.aa.com/doc/error.jpg [R,NC] //需要 重定向到一个盗链主机可以访问的位置,否则看不出效果来。
技术分享图片
[[email protected] htdocs]# apachectl –t
[[email protected] htdocs]# service httpd restart

第二步:配置非法盗链服务器
一:配置DNS服务
[[email protected] ~]# yum install -y bind bind-utils
[[email protected] ~]# vi /etc/named.conf
技术分享图片
[[email protected] ~]# vi /etc/named.rfc1912.zones
技术分享图片
[[email protected] ~]# cd /var/named/
[[email protected] named]# cp -p named.localhost bb.com.zone
[[email protected] named]# vi bb.com.zone
技术分享图片
[[email protected] named]# vi /etc/resolv.conf
servername 192.168.80.40
保存退出
[[email protected] named]# systemctl restart named //重启dns服务

二:验证
浏览器访问非法盗链服务器:www.bb.com
技术分享图片
//验证成功

以上是关于CentOS7.4——Apache优化应用四(防盗链)的主要内容,如果未能解决你的问题,请参考以下文章

CentOS7.4—Apache优化应用一(保持连接与版本隐藏)

CentOS7.4—Apache优化应用二(日志管理)

拒绝盗图 共创和谐社会 ! 防盗链 Apache网页优化

apache优化之防盗链,日志拆分,ab压力测试

Apache网页优化与安全优化(网页压缩;网页缓存;网页防盗链;隐藏版本信息)

Apache网页优化之防盗链