Apache的网页和安全优化
Apache小結
- 一、Apache網頁優化
- 1.1 網頁壓縮
- 1)網頁壓縮的理論步驟
- 2)網頁壓縮的具體實操步驟(圖文)
- 1.2 網頁緩存
- 1)網頁緩存 的理論步驟
- 2)網頁緩存 的具體實操步驟(圖文)
- 二、Apache安全優化
- 2.1 隱藏版本信息
- 1)隱藏版本信息 的理論步驟
- 2)隱藏版本信息 的具體實操步驟(圖文)
- 2.2 配置防盜鏈
- 1)配置防盜鏈 的理論步驟
- 2)配置防盜鏈 的具體實操步驟(圖文)
一、Apache網頁優化
Apache網頁優化的概述:
在企業中,部署Apache后只采用默認的配置參數,會發網防很多題,換言之照時認配置是針對以前較低的服務器配置的,以前的配置已經不適用當今互聯網時代
為了適應企業需求,就需要考慮如何提升Apache的性能與穩定性,這就是Apache優化的內容
1.1 網頁壓縮
啟動網頁壓縮的步驟:
1)網頁壓縮的理論步驟
1.檢查是否安裝mod_deflate 模塊:
apachectl -t -D DUMP_MODULES | grep “deflate”
2.如果沒有安裝mod deflate 模塊,重新編譯安裝 Apache 添加 mod deflate 模塊
systemctl stop httpd.service
cd /usr/local/httpd/conf
mv httpd.conf httpd.conf.bak
yum -y install gcc gcc-c++ pcre pcre-devel zlib-devel
cd /opt/httpd-2.4.29/
./configure
–prefix=/usr/local/httpd
–enable-so
–enable-rewrite
–enable-charset-lite
–enable-cgi
–enable-deflate #加入mod_deflate 模塊
make &s make install
3.配置 mod deflate 模塊啟用
vim /usr/local/httpd/conf/httpd.conf
–51行–修改 注釋52行
Listen 192.198.80.10:80
#Listen 80
–105行–取消注釋
LoadModule deflate module modules/mod deflate.so #開啟mod deflate 模塊
–197行–取消注釋,修改
ServerName www . clj. com: 80
–末行添加–
4.檢查安裝情況,啟動服務
apachect1 -t #驗證配置文件的配置是否正確
apachectl_-t -D DUMP_ MODULES l grep “deflate” #檢查 mod deflate 模塊是否已安裝
deflate module (shared) #已安裝的正確結果
systemctl start httpd.service
5.測試 mod_deflate 壓縮是否生效
cd /usr/local/httpd/htdocs
先將game.jpg文件傳到/usr/local/httpd/htdocs目錄下
vim index.html
2)網頁壓縮的具體實操步驟(圖文)
第一步:檢查是否安裝 mod_deflate 模塊:
第二步:沒有安裝 mod_deflate 模塊,重新編譯安裝Apache添加該模塊
1) 關閉服務,然后對httpd文件進行備份后,安裝相關程序
2) 重新編譯安裝Apache添加 mod_deflate 模塊
3)重新編譯安裝
第三步:配置 mod_deflate模塊
1)修改第51行,然后52行注釋掉
2)修改105行和197行
3)末行添加配置
第四步:檢查安裝情況,啟動服務
第五步:測試 mod_deflate 壓縮是否生效
2)臨時配置域名與IP地址的映射關系,然后在【火狐瀏覽器】中進行測試(網頁內右鍵然后點擊查看元素)
1.2 網頁緩存
通過mod_expire模塊配置Apache,使網頁能在客戶端瀏覽器緩存一段時間,以避免重復請求。
啟用mod_expire模塊后,會自動生成頁面頭部信息中的Expires標簽和Cache-Control標簽,客戶端瀏覽器根據標簽決定下次訪問是在本地機器的緩存中獲取頁面,不需要向服務器再次發出請求,從而降低客戶端的訪問頻率和次數,達到減少不必要的流量和增加訪問速度的目的。
1)網頁緩存 的理論步驟
1.檢查是否安裝 mod_expires 模塊
apachectl -t -D DUMP_MODULES | grep “expires”
2.如果沒有安裝mod_expires 模塊,重新編譯安裝 Apache 添加 mod_expires模塊
systemctl stop httpd.service #停止服務
cd /usr/local/httpd/conf/ #切換目錄
mv httpd.conf httpd.conf.bak2 #進行備份
yum install -y gcc gcc-c++ pcre pcre-devel zlib-devel #安裝相關程序
#安裝mod_expires模塊
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi --enable-deflate --enable-expires
make -j4 && make install #重新編譯安裝
3.配置 mod_expires 模塊啟用
vim /usr/local/httpd/conf/httpd.conf #修改配置文件
----52行修改-----
Listen 192.168.80.77:80
----111行取消注釋----
LoadModule expires_module modules/mod_expires.so
----199行取消注釋并修改-----
ServerName www.clj.com:80
----末行添加-----
4.檢查安裝情況,啟動服務
apachectl -t #驗證配置.文件的配置是否正確
apachectl -t -D DUMP_MODULES | grep “expires” #檢查 mod_deflate 模塊是否已安裝
systemctl start httpd.service #開啟服務
5.測試緩存是否生效
cat /usr/local/httpd/htdocs/index.html
方法一∶
在Linux系統中,打開火狐瀏覽器,右擊點查看元素選擇 網絡 —> 選擇 HTML、WS、其他
訪問 http∶//192.168.80.10 ,雙擊200消息查看響應頭中包含 Expires 項
方法二∶
在Windows系統中依次安裝 Microsoft.NET4 和fiddler 軟件,打開fiddler 軟件選擇 inspectors —> 選擇 Headers
瀏覽器訪問 http//192.168.80.10 ,雙擊200消息查看 Expires 項
2)網頁緩存 的具體實操步驟(圖文)
第一步:檢查是否安裝 mod expires 模塊
第二步:如果沒有安裝mod_expires 模塊,重新編譯安裝 Apache 添加 mod_expires模塊
1)安裝相關程序
2)加載模塊
3)重新編譯安裝
第三步:配置 mod_expires 模塊啟用
1)切換目錄然后修改監聽的IP地址
2)取消111行的注釋
3)修改域名
4)末行添加配置
第四步:檢查安裝情況,啟動服務
第五步:測試結果
1)進入網頁,然后進行清理記錄和刷新
2)查看緩存是否生效,如下圖即可
二、Apache安全優化
2.1 隱藏版本信息
Apache的版本信息,透露了一定的漏洞信息,從而給網站帶來安全隱患生產環境中要配置Apache隱藏版本信息
如下:
1)隱藏版本信息 的理論步驟
vim /usr/local/httpd/conf/httpd.conf #修改此文件,修改內容如下
------491行–取消注釋------
Include conf/extra/httpd-default.conf
vim /usr/local/httpd/conf/extra/httpd-default.conf #修改此文件,修改內容如下
------55行–修改------
ServerTokens Prod #將原本的 Full 改為 Prod,只顯示名稱,沒有版本
#ServerTokens 表示 Server 回送給客戶端的響應頭域是否包含關于服務器 OS 類型和編譯過的模塊描述信息
systemctl restart httpd.service #重新啟動服務
瀏覽器訪問 http∶//192.168.80.77 ,雙擊200消息查看 Server 項
2)隱藏版本信息 的具體實操步驟(圖文)
第一步:修改httpd.conf 文件,修改內容如下
第二步: 修改httpd-default.conf文件,修改內容如下
5.測試隱藏版本信息是否生效
2.2 配置防盜鏈
防盜鏈是防止別人的網站代碼里面盜用我們自己服務器上的圖片、文件、視頻等相關資源
如果別人盜用網站的這些靜態資源,明顯的是會增大服務器的帶寬壓力
作為網站的維護人員,要杜絕服務器的靜態資源被其他網站盜用
1)配置防盜鏈 的理論步驟
1.檢查是否安裝 mod rewrite 模塊
apachectl -t -D DUMP_MODULES | grep “rewrite”
2.如果沒有安裝mod_rewrite 模塊,重新編譯安裝 Apache 添加 mod_rewrite模塊
systemctl stop httpd.service #停止服務
cd /usr/local/httpd/conf/ #切換目錄
mv httpd.conf httpd.conf.bak3 #文件備份
yum install -y gcc gcc-c++ pcre pcre-devel zlib-devel #安裝相關程序
cd /opt/httpd-2.4.29/ #切換目錄
#添加 mod rewrite模塊
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi --enable-deflate --enable-expires --enable-rewrite
make -j4 && make install #重新編譯安裝
3.配置 mod_rewrite 模塊啟用
vim /usr/local/httpd/conf/httpd.conf
LoadModule rewrite_module modules/mod_rewrite.so
RewriteCond %{HTTP REFERER}!^http;//www.clj.com.s【NC】 的字段含義∶ "8{HTTP
REFERER}"∶ 存放一個鏈接的 URL,表示從哪個鏈接訪問所需的網頁。 "!^∶ 表示不以后面的字符串開頭。
"http;//www.clj.com"∶ 是本網站的路徑,按整個字符串匹配。 .$"∶ 表示以任意字符結尾。 "【NC】 "∶
表示不區分大小寫字母。
RewriteRule …(gifljpg|swf)$ http;//www.clj.com/error.pnq 的字段含義∶
". “∶表示匹配一個字符。
““∶ 表示匹配 0 到多個字符,與”.“合起來的意思是匹配 0 到多次前面的任意字符,如果是 1 到多次匹配可以用”+“表示。
“.“∶ 在這里的”“是轉義符,”.“就代表符號”.“的意思。因為”.“在指令中是屬于規則字符,有相應的含義,如果需要匹配, 需要在前面加個轉義符””,其它規則字符如果需要匹配, 也做同樣處理。
“(gifljpglswf)“∶ 表示匹配"gif”、“jpg”、“swf"任意一個,”$“表示結束。最后的規則是以”.gif”、”.jpg”、”.swf"結尾,前面是1到多個字符的字符串,也就是匹配圖片類型的文件。
"http∶/www.clj.com/error,pnq"∶ 表示轉發到這個路徑 。
整個配置的含義是 使用本網站以外的網站域名 訪問本站的圖片文件時,顯示 3.png 這個圖片。
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://clj.com/.$ [NC]
RewriteCond %{HTTP_REFERER} !^http://clj.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.clj.com/.$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.clj.com/$ [NC]
RewriteRule .(jpg|jpeg|gif|png) 3.png
4.網頁準備
Web源主機配置∶
cd /usr/local/httpd/htdocs
將1.jpg、3.jpg文件傳到/usr/local/httpd/htdocs目錄下
vim index.html
<html><body><h1>this is clj.com!</hl>
<img src=“1.jpg”/>
</body>
echo “192.168.80.77 www.clj.com”>> /etc/hosts
echo “192.168.80.100 www.dl.com” >>/etc/hosts
盜鏈網站主機∶
yum install -y httpd
cd /usr/local/httpd/htdocs #yum安裝的httpd服務的默認路徑為/var/www/html/
vim index.html
<html><body><h1>
this is dl.com!
</h1>
<img src=“http;//www.nj.com/1.jpg”/>
echo “192.168.153.30 www.nj.com”>> /etc/hosts
echo “192.168.153.10 www.dl.com” >>/etc/hosts
5.在盜圖網站主機上進行瀏覽器驗證 http:www.dl.com
2)配置防盜鏈 的具體實操步驟(圖文)
第一步:檢查是否安裝 mod rewrite 模塊
第二步:如果沒有安裝mod_rewrite 模塊,重新編譯安裝 Apache 添加 mod rewrite模塊
1)停止服務,然后備份文件,進行yum安裝程序
2)添加 mod rewrite模塊
3)重新編譯安裝
第三步:配置 mod_rewrite 模塊啟用
1)修改/usr/local/httpd/conf/httpd.conf文件,取消157行注釋
2)在224行的下面添加這些配置(在虛擬機上找的,這個做完忘截圖)
第四步:盜鏈測試
1)在源主機上配置(這個截圖錯了,忘修改回去流程是這么個流程)
2)獲取到源主機圖片的src地址
3)在盜鏈主機上配置httpd相關配置
4)在盜鏈主機上配置臨時域名解析
5)在盜鏈主機上訪問盜鏈主機網站地址(記得清理歷史記錄和緩存然后刷新網頁)
總結
以上是生活随笔為你收集整理的Apache的网页和安全优化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Apache构建web主机、日志分割及A
- 下一篇: 网络大全解答