详述Linux系统中Apache网页与安全优化
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了详述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服务
- 下载源码包
[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><h1>It works!</h1>
<img src="miao.jpg"/>
</body></html>
:wq
- 在客户机中再次访问网页
以上是关于详述Linux系统中Apache网页与安全优化的主要内容,如果未能解决你的问题,请参考以下文章