Apache網頁優化與安全優化
文章目錄
一、Apache網頁優化
1.Apache網頁優化概述
在企業中,部署Apache後只能採用預設的配置引數,會引發網站很多的 問題,換言之預設配置是針對以前較低的伺服器配置,以前的配置以及不適用現在的網際網路時代了。
2.優化內容
- 配置網頁壓縮功能
- 配置網頁快取
- 工作模式的選擇與引數優化
- 配置隱藏版本號
- 配置防盜鏈
- …
3.網頁壓縮
3.1 gzip介紹
- 配置Apache的網頁壓縮功能,是使用gzip壓縮演算法來對網頁內容進行壓縮後再傳輸到客戶端瀏覽器
3.2 作用
- 降低了網路傳輸的位元組數,加快網頁載入的速度
- 節省流量,改善使用者的瀏覽體驗
- gzip與搜尋引擎的抓取工具有著更好的關係
3.3 Apache實現網頁壓縮的功能模組包括 - mod_gzip模組
- mod deflate模組
Apache 1.x
- 沒有內建網頁壓縮技術,但可使用第三方mod_gzip模組執行壓縮
Apache 2.x
- 在開發的時候,內建了mod_deflate這個模組,取代mod_gzip
3.4 mod_gzip模組與mod_deflate模組
- 兩者均使用gzip壓縮演算法,運作原理類似
- mod_deflate壓縮速度略快,而mod_gzip的壓縮比略高
- mod_gzip對伺服器CPU的佔用要高一些
- 高流量的伺服器,使用mod_deflate可能會比mod_gzip載入速度更快
4、配置網頁壓縮功能
注:前面就是正常編譯安裝Apache步驟,但yum多安裝zlib-devel(壓縮功能);configure配置中多開啟一個deflate模組,比之前安裝的Apache環境多了個 壓縮功能
1.安裝Apache
tar zxf apr-1.6.2.tar.gz
tar zxf apr-util-1.6.0.tar.gz
tar jxf httpd-2.4.29.tar.bz2
mv apr-1.6.2 httpd-2.4.29/srclib/apr
mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
yum -y install gcc gcc-c++ make pcre-devel expat-devel perl zlib-devel
cd httpd-2.4.29/
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi --enable-deflate
make && make install
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
vim /etc/init.d/httpd
新增:
#chkconfig:35 85 21
#description:Apache HTTP Server
chkconfig --add httpd
chkconfig --list
ln -s /usr/local/httpd/conf/httpd.conf /etc/
ln -s /usr/local/httpd/bin/* /usr/bin/
vi /etc/httpd.conf
修改:
ServerName www.nb.com:80
systemctl stop firewalld
setenforce 0
2.配置mod_deflate模組啟動
[root@server1 ~]# vi /etc/httpd.conf
LoadModule deflate_module/mod_deflate.so #把前面的#刪掉,啟用mod_deflate模組
[root@server1 ~]# systemctl start httpd
[root@server1 ~]# systemctl status httpd
[root@server1 ~]# netstat -anpt | grep httpd
[root@server1 ~]# apachectl -D DUMP_MODULES | grep deflate
壓縮功能已開啟
5、配置網頁壓縮
1.設定壓縮內容型別
[root@server1 ~]# vi /etc/httpd.conf
#............#在檔案末尾加入以下內容
#AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript
#DeflateCompressionLevel 9 #9代表壓縮等級一般用6即可
#SetOutputFilter DEFLATE text/javascript
DeflateCompressionLevel 9
SetOutputFilter DEFLATE
[root@server1 ~]# systemctl start httpd
[root@server1 ~]# httpd -t
2.網頁設定
[root@server1 ~]# echo "<h1>This is the fa</h1>" > /usr/local/httpd/htdocs/index.html
抓包測試:
在瀏覽器上輸入IP訪問
使用抓包軟體進行檢視
6、配置網頁快取功能
1.啟用網頁快取功能步驟
- 檢視是否安裝mod_expire模組
- 修改配置檔案,啟用快取功能
- 訪問測試
解決中文亂碼的問題
vi /etc/httpd.conf
新增:
AddDefaultCharset utf-8
1.開啟expire模組
[root@server1 ~]# vi /etc/httpd.conf
去除#號,開啟expire模組
LoadModule expires_module modules/mod_expires.so
[root@server1 ~]# systemctl start httpd
[root@server1 ~]# apachectl -D DUMP_MODULES | grep expires
2.設定配置檔案
[root@server1 ~]# vi /etc/httpd.conf
[root@server1 ~]# httpd -t
[root@server1 ~]# systemctl stop httpd
[root@server1 ~]# systemctl start httpd
<IfModule mod_expires.c> 當expire模組開啟時,命令生效
ExpiresActive On
ExpiresDefault "access plus 3 day" 快取3天
</IfModule>
測試:
本機上輸入:20.0.0.13訪問,然後抓包
二、Apache安全優化
1. 配置Apache隱藏版本資訊
- Apache的版本資訊,透露了一定的漏洞資訊,從而給網站帶來安全隱患
- 生產環境中要配置Apache隱藏版本資訊
2.ServerTokens的賦值
ServerTokens Prod 顯示“Server:Apache” 顯示版本資訊
ServerTokens Major 顯示“Server:Apache/2” 版本數
ServerTokens Minor 顯示“Server:Apache/2.2” 版本數下發行的版本數
ServerTokens Min 顯示“Server:Apache/2.2.17” 完整版本
ServerTokens OS 顯示“Server:Apache/2.2.17 (Unix)”平臺
ServerTokens Full 顯示“Server:Apache/2.2.17 (Unix) PHP/5.3.5”其它平臺所有資訊(apache嵌存PHP模組)
3.隱藏版本配置
[root@server1 ~]# vi /usr/local/httpd/conf/extra/httpd-default.conf
修改為:
ServerTokens Prod
2.配置檔案
[root@server1 ~]# vi /etc/httpd.conf
修改:
Include conf/extra/httpd-default.conf #取消註釋
[root@server1 ~]# systemctl stop httpd
[root@server1 ~]# systemctl start httpd
測試
本機上輸入:20.0.0.13訪問,然後抓包
4.防盜鏈
1.防盜鏈的作用
- 防盜鏈是防止別人的網站程式碼裡面盜用我們自己伺服器上的圖片,檔案,視訊等相關資源
- 如果別人盜用網站的這些靜態資源,明顯的是會增大伺服器的頻寬壓力
- 作為網站的維護人員,要杜絕伺服器的靜態資源被其它網站盜用
2.不設定防盜鏈
1.刪除域名配置
[root@server1 ~]# cd /usr/local/httpd/htdocs/
[root@server1 htdocs]# ls
index.html
[root@server1 htdocs]# rm -rf index.html
[root@server1 htdocs]#
2.編輯配置檔案
[root@server1 ~]# vi /etc/httpd.conf
修改:
LoadModule rewrite_module modules/mod_rewrite.so #取消配置
準備2個表情包一個html頁面
匯入Xshell中
在用本機ip地址訪問
重新開一臺機器(20.0.0.14)
1.安裝httpd,配置域名
[root@server2 ~]# yum -y install httpd
[root@server2 ~]# vi /var/www/html/index.html
新增:
<html><body>Theft<img src="http://20.0.0.13/a.jpg"/></body></html>
[root@server2 ~]# systemctl stop firewalld
[root@server2 ~]# setenforce 0
[root@server2 ~]# systemctl start httpd
測試:
可以直接盜用
3.配置防盜鏈
在主機上
1.編輯配置檔案
[root@server1 ~]# vi /etc/httpd.conf
[root@server1 ~]# httpd -t
[root@server1 ~]# systemctl stop httpd
[root@server1 ~]# systemctl start httpd
AllowOverride All
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://20.0.0.13/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://20.0.0.13/* [NC]
RewriteCond %{HTTP_REFERER} !^http://20.0.0.13$ [NC]
RewriteRule .*\.(gif|jpg|swf)$ http://20.0.0.13/b.png [R,NC]
相關文章
- Apache網頁與安全優化Apache網頁優化
- apache網頁優化Apache網頁優化
- Apache網頁優化__GongWei1997Apache網頁優化Go
- 網頁效能優化網頁優化
- Nginx網頁優化與防盜鏈Nginx網頁優化
- Nginx安全優化與效能調優Nginx優化
- 運籌優化(八)--圖與網路優化優化
- DNS與網站優化DNS網站優化
- 丰采網教你如何優化落地頁MXT優化
- Vue 網站首頁載入優化Vue網站優化
- Apache HBase MTTR 優化實踐Apache優化
- 十六.Apache的管理及優化Apache優化
- 效能優化小冊 - 提高網頁響應速度:優化你的 CDN 效能優化網頁
- 程式分析與優化 - 6 迴圈優化優化
- Web 頁面優化專項 > Lighthouse > 效能分數優化Web優化
- 移動端網頁效能優化自查表網頁優化
- 頁面快取優化快取優化
- 分頁查詢優化優化
- Apache Kylin 入門 6 - 優化 CubeApache優化
- Oracle優化案例-單表分頁語句的優化(八)Oracle優化
- SQL優化案例-單表分頁語句的優化(八)SQL優化
- 瀏覽器渲染流水線解析與網頁動畫效能優化瀏覽器網頁動畫優化
- 瀏覽器層合成與頁面效能優化瀏覽器優化
- 前端網頁載入速度緩慢優化策略前端網頁優化
- MySQL分頁查詢優化MySql優化
- 如何進行頁面優化?優化
- App啟動頁面優化APP優化
- 效能優化之分頁查詢優化
- iOS首頁渲染優化 -- imageName:iOS優化
- 【效能優化實踐】優化打包策略提升頁面載入速度優化
- apache-淺析apache優化的幾點建議Apache優化
- iOS效能優化 - 網路圖片載入優化iOS優化
- 前端效能優化(JS/CSS優化,SEO優化)前端優化JSCSS
- 網站如何優化網站優化
- 網站效能優化網站優化
- Linux基礎優化與安全歸納總結Linux優化
- 前端效能優化實踐 之 百度App個人主頁優化前端優化APP
- Android效能優化,Startalk會話頁GIF記憶體優化實踐Android優化會話記憶體