在企业中,部署Apache后只采用默认的配置参数,会发网防很多题,换言之照时认配置是针对以前较低的服务器配置的,以前的配置已经不适用当今互联网时代,为了适应企业需求,就需要考虑如何提升Apache的性能与稳定性,这就是Apache优化的内容。
mod_deflate
模块:1 apachectl -t -D DUMP_MODULES | grep "deflate"
1 systemctl stop httpd.service 2 cd /usr/local/httpd/conf 3 mv httpd.conf httpd.conf.bak 4 5 yum -y install gcc gcc-c++ pcre pcre-devel zlib-devel
cd /opt/httpd-2.4.29/ 6 ./configure 7 --prefix=/usr/local/httpd 8 --enable-so 9 --enable-rewrite 10 --enable-charset-lite 11 --enable-cgi 12 --enable-deflate #加入mod_deflate 模块 13 14 make && make install
1 vim /usr/local/httpd/conf/httpd.conf 2 --51行--修改 注释52行 3 Listen 192.168.208.40:80 4 # Listen 80 5 --105行--取消注释 6 LoadModule deflate module modules/mod deflate.so #开启mod deflate 模块 7 8 --197行--取消注释,修改 9 ServerName www . clj. com: 80 10 --末行添加-- 11 <IfModule mod_deflate.c> 12 AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript text/jpg text/png #代表对什么样的内容启用gzip压缩 13 DeflateCompressionLevel 9 #代表压缩级别,范围为1~9 14 SetOutputFilter DEFLATE #代表启用deflate模块对本站点的输出进行gzip压缩 15 </IfModule>
1 apachect1 -t #验证配置文件的配置是否正确 2 apachectl -t -D DUMP_ MODULES | grep "deflate" #检查 mod deflate 模块是否已安装 3 deflate module (shared) #已安装的正确结果 4 systemctl start httpd.service
1 cd /usr/local/httpd/htdocs 2 先将0.0.jpg文件传到/usr/local/httpd/htdocs目录下 3 vim index.html 4 <html><body> 5 <hl>It works!It works!It works!It works!It works!It works! 6 <img src="0.0.jpg"/></body></html>
通过mod_expire模块配置Apache,使网页能在客户端浏览器缓存一段时间,以避免重复请求。
启用mod_expire模块后,会自动生成页面头部信息中的Expires标签和Cache-Control标签,客户端浏览器根据标签决定下次访问是在本地机器的缓存中获取页面,不需要向服务器再次发出请求,从而降低客户端的访问频率和次数,达到减少不必要的流量和增加访问速度的目的。
1 apachectl -t -D DUMP_MODULES | grep "expires"
1 systemctl stop httpd.service #停止服务 2 3 cd /usr/local/httpd/conf/ #切换目录 4 mv httpd.conf httpd.conf.bak2 #进行备份 5 yum install -y gcc gcc-c++ pcre pcre-devel zlib-devel #安装相关程序 6 7 #安装mod_expires模块 8 ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi --enable-deflate --enable-expires 9 10 make -j4 && make install #重新编译安装
1 vim /usr/local/httpd/conf/httpd.conf #修改配置文件 2 3 ----52行修改----- 4 Listen 192.168.208.40:80 5 6 ----111行取消注释---- 7 LoadModule expires_module modules/mod_expires.so 8 9 ----199行取消注释并修改----- 10 ServerName www.xyc.com:80 11 12 ----末行添加----- 13 <IfModule mod_expires.c> 14 ExpiresActive On #打开网页缓存功能 15 ExpiresDefault "access plus 60 seconds" #设置缓存60秒 16 </IfModule>
1 apachectl -t #验证配置.文件的配置是否正确 2 apachectl -t -D DUMP_MODULES | grep "expires" #检查 mod_deflate 模块是否已安装 3 4 systemctl start httpd.service #开启服务
cat /usr/local/httpd/htdocs/index.html
方法一∶
在Linux系统中,打开火狐浏览器,右击点查看元素选择 网络 —> 选择 HTML、WS、其他
访问 http∶//192.168.208.40 ,双击200消息查看响应头中包含 Expires 项
方法二∶
在Windows系统中依次安装 Microsoft.NET4 和fiddler 软件,打开fiddler 软件选择 inspectors —> 选择 Headers
浏览器访问 http//192.168.208.40 ,双击200消息查看 Expires 项
Apache的版本信息,透露了一定的漏洞信息,从而给网站带来安全隐患生产环境中要配置Apache隐藏版本信息
1 vim /usr/local/httpd/conf/httpd.conf #修改此文件,修改内容如下 2 ------491行--取消注释------ 3 Include conf/extra/httpd-default.conf 4 5 vim /usr/local/httpd/conf/extra/httpd-default.conf #修改此文件,修改内容如下 6 ------55行--修改------ 7 ServerTokens Prod #将原本的 Full 改为 Prod,只显示名称,没有版本 8 #ServerTokens 表示 Server 回送给客户端的响应头域是否包含关于服务器 OS 类型和编译过的模块描述信息 9 10 systemctl restart httpd.service #重新启动服务
浏览器访问 http∶//192.168.208.40 ,双击200消息查看 Server 项
1 apachectl -t -D DUMP_MODULES | grep "rewrite"
1 systemctl stop httpd.service #停止服务 2 cd /usr/local/httpd/conf/ #切换目录 3 mv httpd.conf httpd.conf.bak3 #文件备份 4 yum install -y gcc gcc-c++ pcre pcre-devel zlib-devel #安装相关程序 5 6 cd /opt/httpd-2.4.29/ #切换目录 7 #添加 mod rewrite模块 8 ./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi \
--enable-deflate \
--enable-expires \
--enable-rewrite 9 make -j4 && make install #重新编译安装
1 vim /usr/local/httpd/conf/httpd.conf 2 LoadModule rewrite_module modules/mod_rewrite.so
1 使用本网站以外的网站域名 访问本站的图片文件时,显示 3.png 这个图片 2 Options Indexes FollowSymLinks 3 AllowOverride None 4 Require all granted 5 6 RewriteEngine On 7 RewriteCond %{HTTP_REFERER} !^http://clj.com/.*$ [NC] 8 RewriteCond %{HTTP_REFERER} !^http://clj.com$ [NC] 9 RewriteCond %{HTTP_REFERER} !^http://www.xyc.com/.*$ [NC] 10 RewriteCond %{HTTP_REFERER} !^http://www.xyc.com/$ [NC] 11 RewriteRule \.(jpg|jpeg|gif|png) 3.png
1 cd /usr/local/httpd/htdocs 2 将1.jpg、2.jpg、3.png文件传到/usr/local/httpd/htdocs目录下 3 4 vim index.html 5 <html><body><h1>this is xyc.com!</hl> 6 <img src="1.jpg"/> 7 </body></html> 8 9 echo "192.168.208.40 www.xyc.com">> /etc/hosts 10 echo "192.168.208.100 www.dl.com" >>/etc/hosts
1 yum install -y httpd 2 cd /usr/local/httpd/htdocs #yum安装的httpd服务的默认路径为/var/www/html/ 3 vim index.html 4 <html><body><h1>this is benet.com!</h1> 5 <img src="http;//www.xyc.com/1.jpg"/> 6 </body></html> 7 8 echo "192.168.208.40 www.xyc.com" >> /etc/hosts 9 echo "192.168.208.100 www.dl.com" >> /etc/hosts
在盗图网站主机上进行浏览器验证 http:www.dl.com
原文:https://www.cnblogs.com/xyc11/p/15144820.html