乾貨!Apache網頁優化與安全優化(祖傳茶藝照請勿盜用)

1、網頁優化

1-1網頁壓縮

1-1-1Apache網頁優化概述

■優化內容
●配置網頁壓縮功能
● 配置網頁緩存
●工做模式的選擇與參數優化
● 配置隱藏版本號
● 配置防盜鏈
■mod_gzip模塊與mod_deflate模塊
● 二者均使用gzip壓縮算法,運做原理相似
●mod_deflate壓縮速度略快,而mod gzip的壓縮比略高
● mod_gzip對服務器CPU的佔用要高一些
●高流量的服務器,使用mod_deflate可能會比mod_gzip 加載速度更快









javascript

1-1-2Apache的壓縮模塊

■ Apache實現網頁壓縮的功能模塊包括
● mod_gzip 模塊
●mod_deflate模塊
■Apache 1.x
●沒有內建網頁壓縮技術,但可以使用第三方mod_gzip模塊執行壓縮
■Apache 2.x
●在開發的時候,內建了mod_deflate 這個模塊,取代mod_gzip





html

1-1-3配置網絡壓縮功能

在這裏插入圖片描述

1-1-4壓縮模塊安裝

(1)檢查是否安裝了 mod_deflate 模塊
[root@localhost ~]# apachectl-D DUMP_MODULESgrep 「deflate」
(2)安裝 mod_deflate模塊
若是沒有安裝 mod_deflate模塊,須要中止Apache 服務,從新編譯安裝 Apache,參數中加入 mod deflate模塊內容
(3)以上操做創建在已經安裝Apache服務的基礎上(安裝包放在opt目錄下,並在opt目錄下解壓)



java

[root@localhost ~]# apachectl-D DUMP_MODULESgrep "deflate"   #檢查是否安裝了 mod_deflate 模塊
[root@localhost~]#systemctl stop httpd 
[root@localhost~]# cd/opt/httpd-2.4.29/
[root@localhost httpd-2.4.29]#
/configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi \
--enable-cgid \
--enable-deflate \
--enable-expires
make && make install
vi /usr/local/httpd/conf/httpd.conf
LoadModule deflate module modules/mod _deflate.so   #找到這個文件,在其下面添加以下命令
 <lfModule mod deflate.c>
AddOutputFilterByType DEFLATEItml text/plain text/ss text/xml text/javascript image/png image/jpg DeflateCompressionLevel 
SetOutputFilter DEFLATE
 </1fModule>
 httpd -t  #檢測配置文件是否有錯
 Syntax OK # 這樣顯示錶示沒有報錯
 把b照片傳入/usr/local/httpd/htdocs/目下
[root@localhosthttpd-2.4.29]#cd/usr/local/httpd/htdocs/
---測試頁.--
<html>chead>
<title>--壓縮測試頁-</title>
</head>
<body><h1>這是一個測試網頁內容壓縮的頁面!!This is test Page!!</h1>
<img src=bjpg/></body></html>
--注意中文亂碼問題解決方法以下----vi/etc/httpd.conf
AddDefaultCharset utf-8
service httpd restart
################用wireshaerk抓包測試圖片傳輸是否壓縮######
找到HTTP/1.1200 OK(JPEG JFIF image)
找到Hyertext Tranter Protocol 
找到上HTTP/1.1200OK \r \in
找到content-Encoding∶gzip\r\n ##這個地方表示圖片壓縮##

在這裏插入圖片描述
在這裏插入圖片描述

1-2網頁緩存

1-2-1配置網頁的緩存時間

■查看是否安裝了mod_expire模塊
●/usr/local/apache/bin/apachectl-t-D DUMP_MODULES
●若是輸出中沒有expires_module(static),則說明編譯時沒有安裝mod_expires
■若是沒有安裝,須要從新編譯安裝
●./configure—enable-expires…
●make && make install




算法

1-2-2網頁緩存實驗步驟

配置mod expires模塊的步驟與mod_deflate模塊類似
顯示 deflate expires(static),表示已經安裝。(1)檢查 mod expires 模塊是否安裝
[root@localhost~]# apachectl-D DUMP_MODULESgrep"expire"
##沒有裝mod expires##
(2)安裝 mod expires 模塊
若是沒有安裝mod_expires模塊,須要中止Apache 服務,從新編譯安裝 Apache,參數中加入 mod_ expires 模塊內容。
[root@localhost ~]# systemctl stop httpd [root@localhost ~]#cd/opt/httpd-2.4.29/





apache

[root@localhost ~]# systemctl stop httpd [root@localhost ~]#cd/opt/httpd-2.4.29/
[root@localhost ~]# systemctl stop httpd [root@localhost~]#cd/opt/httpd-2.4.29/
[root@localhost httpd-2.4.29]#
/configure\
-prefix=/usr/local/httpd\
--enable-so\
--enable-rewrite\
--enable-charset-lite\
--enable-cgi\
--enable-cgid\
-enable-deflate\
-enable-expires
[root@localhost httpd-2.4.29]# make && make install
[root@localhosthttpd-2.4.29]#vi/etc/httpd.conf 
############################科省略部份內容
LoadModule expires module modules/mod expires.so 
#########################轉#省略部份內容
<lfModule mod expires.c>
ExpiresActive On
ExpiresDefault"access plus60seconds"</IfModule>
檢測httpd.conf 語法並啓動服務[root@localhost httpd-2.4.29]# httpd-t Syntax OK
[root@localhost httpd-2.4.29]# systemctl restart httpd 
檢測模塊是否安裝
[root@localhost httpd-2.4.29]# apachectl-D DUMP MODULESgrep"expires"expires_module(shared)
###################用wireshaerk 抓包測試圖片傳輸是否緩存####
找到HTTP/1.1200 OK(JPEG JFIF image)
找到 Hyertext Transfer Protocol 
找到HTTP/1.1200 OK\r\n
找到Cache-Control∶max-age=60\r\n ###這個地方表示緩存60秒##

在這裏插入圖片描述

2、安全優化

2-1隱藏版本信息

2-1-1修改 httpd.conf 配置文件

修改 httpd.conf 配置文件,使 httpd-default.conf 文件生效,它裏面包含了是否返回版本信息的內容。
[root@localhost~]# vim/usr/local/httpd/conf/httpd.conf
####去掉前面的
Include conf/extra/httpd-default.conf


vim

2-1-2修改 httpd-default.conf 文件

[root@localhost ~]# vim /usr/local/httpd/conf/extra/httpd-default.conf
####把 Full 改成Prod ServerTokens Prod
緩存

2-2配置防盜鏈

2-2-1作一個測試頁

#####如下是在合法服務器上配置防盜鏈#######正常環境搭建##
20.0.0.22 www.51xit.top##作防盜鏈配置
20.0.0.25 ###作盜鏈網站
####首先20.0.0.22不作防盜鏈配置###
作一個測試頁
[root@localhost~]# cd/usr/local/httpd/htdocs/
[root@localhost htdocs]# vi index.html <html>
<head>
<title>--壓縮測試頁--</title>
</head>
<body><h1>這是一個測試網頁!!This is test Page!!</h1><img src=b.jpg/>
</body>
</html>
vi/etc/httpd.conf
AddDefaultCharsetutf-8
[root@localhost htdocs]# systemctl restart httpd

在這裏插入圖片描述

2-2-2作盜鏈網站

####在20.0.0.25網站 用到www.51xittop/bjpg 這個圖片##
[root@localhost~]# vi/etc/hosts
 20.0.0.22 www.51xit.top
[root@localhost ~]# yum -y install httpd
 [root@localhost ~]#systemctl start httpd
 [root@localhost ~]# systemctl enable httpd
  [root@localhost~]# vi/var/www/html/index.html 
<html>
<head>
<title>-壓縮測試頁-</title>
</head>
<body><h1>這是一個測試網頁內容壓縮的頁面!!This is est Page!!</h1><img src=http://20.0.0.22/b.jpg/>
</body>
</html>

在這裏插入圖片描述

2-2-3防盜鏈測試

接下來作防盜鏈處理
##量錄192.168.100.41=###
(1)檢查是否安裝了 mod rewrite 模塊apachectl -t-D DUMP MODULESgrep "rewrite'
(2)安裝mod rewrite 模塊
systemctlstop httpd
 vi/etc/htpd.conf
LoadModule ewrite module modules/mod rewite.so
####針對目錄作防盜鏈處理--在htdocs目錄屬性最後位置新-…【NC】不區分大小寫###
 RewriteEngine On
    RewriteCond %{HTTP_REFERER} !^http://20.0.0.22/*
    RewriteCond %{HTTP_REFERER} !^http://20.0.0.22/.*$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://20.0.0.22$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://20.0.0.22/.*$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://20.0.0.22$ [NC]
    RewriteRule .*\.(gif|jpg|swf|png)$ https://t8.baidu.com/it/u=3571592872,3353494284&fm=79&app=86&size=h300&n=0&g=4n&f=jpeg?sec=1599645426&t=2a25cc010c9258cffe716b505f8a234f [R,NC]

對應的網絡照片
在這裏插入圖片描述
經過xftp軟件將照片上傳到/var/www/html目錄下(20.0.0.25這個服務器Apache是經過YUM安裝的,因此將照片在/var/www/html目錄下)
在這裏插入圖片描述
修改配置文件最後一行對應20.0.0.25



安全

RewriteRule .*\.(gif|jpg|swf|png)$ https://20.0.0.25/error.jpg [R,NC]

在這裏插入圖片描述

相關文章
相關標籤/搜索