Linux系统中Apache网页与安全优化的示例分析
这篇文章给大家分享的是有关Linux系统中Apache网页与安全优化的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
Apache网页优化
Apache网页优化概述
在企业中,部署Apache后只采用默认的配置参数,会引发网站很多问题,换言之默认配置是针对以前较低的服务器配置的,以前的配置已经不适用当今互联网时代
为了适应企业需求,就需要考虑如何提升Apache的性能与稳定性,这就是Apache优化的内容
优化内容
配置网页压缩功能
工作模式的选择与参数优化
配置防盗链
配置隐藏版本号
.......
网页压缩
gzip
介绍
配置
Apache
的网页压缩功能,是使用gzip
压缩算法来对网页内容进行压缩后再传输到客户端浏览器作用
降低了网络传输的字节数,加快网页加载的速度
节省流量,改善用户的浏览体验
gzip
与搜索弓|擎的抓取工具有着更好的关系
Apache的压缩模块
Apache
实现网页压缩的功能模块包括mod_gzip
模块mod_deflate
模块Apache 1.x
没有内建网页压缩技术,但可使用第三方
mod_gzip
模块执行压缩Apache 2.x
在开发的时候,内建了
mod_deflate
这个模块,取代mod_gzip
mod_gzip
模块与mod_ deflate模块两者均使用
gzip
压缩算法,运作原理类似mod_deflate
压缩速度略快,而mod_gzip
的压缩比略高mod_gzip
对服务器CPU
的占用要高一-些高流量的服务器,使用
mod_deflate
可能会比mod_gzip
加载速度更快
配置网页压缩功能
手工编译安装HTTP服务
下载源码包
apr-1.6.2.tar.gz
apr-util-1.6.0.tar.gz
httpd-2.4.29.tar.bz2
[root@localhost ~]# mount.cifs //192.168.100.10/lamp-c7 /mnt //宿主机中源码包存放目录挂载到mnt目录 Password for root@//192.168.100.10/lamp-c7: [root@localhost ~]# cd /mnt/ //进入挂载目录 [root@localhost mnt]# ls //查看你 apr-1.6.2.tar.gz cronolog-1.6.2-14.el7.x86_64.rpm httpd-2.4.29.tar.bz2 mysql-5.6.26.tar.gz apr-util-1.6.0.tar.gz Discuz_X2.5_SC_UTF8.zip LAMP-php5.6.txt nginx-1.12.0.tar.gz awstats-7.6.tar.gz error.png miao.jpg php-5.6.11.tar.bz2 [root@localhost mnt]# tar jxvf httpd-2.4.29.tar.bz2 -C /opt //解压源码包 [root@localhost mnt]# tar zxvf apr-1.6.2.tar.gz -C /opt [root@localhost mnt]# tar zxvf apr-util-1.6.0.tar.gz -C /opt/ [root@localhost mnt]# cd /opt [root@localhost opt]# ls apr-1.6.2 apr-util-1.6.0 httpd-2.4.29 rh [root@localhost opt]# mv apr-1.6.2/ httpd-2.4.29/srclib/apr //将解压的环境包放入httpd-2.4.29目录 [root@localhost opt]# mv apr-util-1.6.0/ httpd-2.4.29/srclib/apr-util [root@localhost opt]# cd httpd-2.4.29 //进入httpd-2.4.29目录 [root@localhost httpd-2.4.29]# yum install gcc gcc-c++ pcre-devel pcre zlib-devel expat-devel perl -y //安装环境包 [root@localhost httpd-2.4.29]# ./configure --prefix=/usr/local/httpd --enable-deflate --enable-so --enable-expires --enable-rewrite --enable-charset-lite --enable-cgi //配置安装文件 [root@localhost httpd-2.4.29]# make && make install //安装服务
进入http服务配置文件查看压缩模块服务是否开启
[root@localhost httpd-2.4.29]# cd /usr/local/httpd/conf/ [root@localhost conf]# ls extra httpd.conf magic mime.types original [root@localhost conf]# ln -s /usr/local/httpd/conf/httpd.conf /etc/httpd.conf [root@localhost conf]# vim /etc/httpd.conf ...//省略部分内容... #LoadModule charset_lite_module modules/mod_charset_lite.so LoadModule deflate_module modules/mod_deflate.so //找到此条目,并开启 LoadModule mime_module modules/mod_mime.so ...//省略部分内容... #LoadModule expires_module modules/mod_expires.so LoadModule headers_module modules/mod_headers.so //查找请求头部模块,确认是否开启 #LoadModule unique_id_module modules/mod_unique_id.so ...//省略部分内容... #LoadModule include_module modules/mod_include.so LoadModule filter_module modules/mod_filter.so //查看过滤器模块是否开启 #LoadModule substitute_module modules/mod_substitute.so ...//省略部分内容... <IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript text/jpg text/png //在文件末尾处编写压缩模块支持文件 DeflateCompressionLevel 9 //创建条目,压缩级别为 9 高压缩比 SetOutputFilter DEFLATE //将压缩模块设置为默认模块加载 </IfModule> :wq //保存退出 [root@localhost conf]# /usr/local/httpd/bin/apachectl -t //使用命令测试配置文件语法是否正常 AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message //提示没有设置域名 Syntax OK //语法正常 [root@localhost conf]# vim /etc/httpd.conf //编辑主配置文件 ...//省略部分内容... # prevent Apache from glomming onto all bound IP addresses. # Listen 192.168.144.133:80 //打开并更改监听接口 #Listen 80 ...//省略部分内容... # If your host doesn't have a registered DNS name, enter its IP address here. # ServerName www.kgc.com:80 //打开并更改域名 ...//省略部分内容... :wq [root@localhost conf]# /usr/local/httpd/bin/apachectl -t //再次检测语法 Syntax OK //语法正常 [root@localhost conf]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd //将启动脚本复制到init.d目录下,并取名httpd [root@localhost conf]# vim /etc/init.d/httpd #!/bin/sh # chkconfig: 35 85 21 # description: Apache is a World Wide Web server //在第一行下添加声明信息 ...//省略部分内容... [root@localhost conf]# chkconfig --add httpd //将httpd加入到SERVICE管理器 [root@localhost conf]# ln -s /usr/local/httpd/bin/* /usr/local/bin/ //将http命令建立软链接到/usr/local/bin/目录下 [root@localhost conf]# service httpd start //使用service命令启动HTTP服务 [root@localhost conf]# netstat -ntap | grep 80 //查看端口是否开启 tcp 0 0 192.168.144.133:80 0.0.0.0:* LISTEN 42332/httpd [root@localhost conf]# systemctl stop firewalld.service //关闭防防火墙 [root@localhost conf]# setenforce 0 //关闭增强性安全功能 [root@localhost conf]# cd /usr/local/httpd/bin/ //进入目录 [root@localhost bin]# ./apachectl -t -D DUMP_MODULES | grep "deflate" //查看压缩模块是否开启 deflate_module (shared) //成功开启
这开启一台win 10虚拟机,并在虚拟机中安装抓包工具 抓包工具下载
在客户机浏览器中访问http服务提供的网页,并查看抓包工具
在网页中插入图片,查看网页压缩功能是否能够正常使用
[root@localhost bin]# cd /mnt //进入挂载点 [root@localhost mnt]# ls //查看 apr-1.6.2.tar.gz cronolog-1.6.2-14.el7.x86_64.rpm httpd-2.4.29.tar.bz2 mysql-5.6.26.tar.gz apr-util-1.6.0.tar.gz Discuz_X2.5_SC_UTF8.zip LAMP-php5.6.txt nginx-1.12.0.tar.gz awstats-7.6.tar.gz error.png miao.jpg php-5.6.11.tar.bz2 [root@localhost mnt]# cp miao.jpg /usr/local/httpd/htdocs/ //将图片复制到http站点目录 [root@localhost mnt]# cd /usr/local/httpd/htdocs/ [root@localhost htdocs]# ls index.html miao.jpg [root@localhost htdocs]# vim index.html <html><body><h2>It works!</h2> <img src="miao.jpg"/> </body></html> :wq
在客户机中再次访问网页
感谢各位的阅读!关于“Linux系统中Apache网页与安全优化的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!