標籤:替代 頁面緩衝 tee none cal headers mct 網站 排名
Apache 網頁與安全最佳化
?
Apache是一個跨平台的web伺服器,由於其簡單高效、穩定安全的特性,被廣泛應用於電腦技術的各個領域。現在,Apache憑藉其龐大的使用者數,已成為使用者數排名第一的web伺服器。
?
**儘管如此,在實際的生產環境中,我們仍然不可能直接使用預設配置的Apache來充當伺服器。畢竟,為了更充分合理地利用Apache伺服器,我們都應該根 據自己的實際需要對Apache的預設配置作出一些必要的調整。
需要編譯Apache添加最佳化模組(安裝詳細操作)
# cd /opt/httpd-2.4.2# ./configure --prefix=/usr/local/httpd \ //安裝目錄--enable-deflate \ //壓縮模板--enable-expires \ //支援 HTTP 控制--enable-so \ //讓apache核心裝載DSO--enable-rewrite \ //啟用重寫功能 --enable-charset-lite \ //啟動字元集支援--enable-cgi //啟用CGI指令碼程式支援,便於擴充網站的應用訪問能力 # make && make install
?
網頁壓縮( 網頁載入速度加快 節省流量)
Gzip是一種流行的檔案壓縮演算法,現在的應用十分廣泛,尤其是在Linux平台。當應用Gzip壓縮到一個純文字檔案時,效果是非常明顯的,大約可以減少70%以上的檔案大小。這取決於檔案中的內容。 利用Apache中的Gzip模組,我們可以使用Gzip壓縮演算法來對Apache伺服器發布的網頁內容進行壓縮後再傳輸到用戶端瀏覽器。這樣經過壓縮後實際上降低了網路傳輸的位元組數,最明顯的好處就是可以加快網頁載入的速度。
# vim /etc/httpd.conf開啟Apache主設定檔 去掉下面三行前面 #LoadModule headers_module modules/mod_headers.soLoadModule deflate_module modules/mod_deflate.so LoadModule filter_module modules/mod_filter.so........................................在Apache主設定檔末尾添加<IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript DeflateCompressionLevel 9 SetOutputFilter DEFLATE</IfModule>註解:<IfModule mod_deflate.c>對html、plain、css、xml、javacript內容啟用gzip壓縮是指壓縮程度的等級,從1到9,9是最高等級,層級越高,壓縮越小對上面設定的所有 輸出啟用壓縮</IfModule>
驗證文法和模組
# cd /usr/local/httpd/bin# ./apachectl -tSyntax OK //驗證設定檔成功# ./apachectl -t -D DUMP_MODULES | grep "deflate"deflate_module (shared)# systemctl restart httpd //重啟服務
- 網頁緩衝
網頁緩衝是將一部分經常不會改變或變動很少的頁面緩衝,下次瀏覽器再次訪問這些頁面時,不需要再次去下載這些頁面,從而提高了使用者的訪問速度
# vim /etc/httpd.conf Apache主配置開啟模組(去#號) LoadModule expires_module modules/mod_expires.so 設定檔末尾添加 <IfModule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 50 seconds" #緩衝為50秒 </IfModule>
Apache安全最佳化
?
隱藏版本可以減少被攻JI的風險,保護伺服器安全運行。
# vim /etc/httpd.conf (去掉下面配置行的#) Include conf/extra/httpd-default.conf # vim /usr/local/httpd/conf/extra/httpd-default.conf ServerTokens Prod //修改成Prod 只顯示名稱,沒有版本 ServerSignature Off # systemctl restart httpd //重啟服務
現在很多長站都是直接使用其它網站上的資源,如果你網站頻寬效能不好,很容易給這類網站把流量費光了,下面我來介紹在Apache環境防盜鏈配置方法,這他們無法直接使用你網站資源哦。
主設定檔修改
# vim /etc/httpd.conf LoadModule rewrite_module modules/mod_rewrite.so //去掉#號 開啟 ................................... <Directory "/usr/local/httpd/htdocs"> Options Indexes FollowSymLinks //215行添加 AllowOverride None Require all granted RewriteEngine On RewriteCond %{HTTP_REFERER} !^http://benet.com/.*$ [NC] RewriteCond %{HTTP_REFERER} !^http://benet.com$ [NC] RewriteCond %{HTTP_REFERER} !^http://www.benet.com/.*$ [NC] RewriteCond %{HTTP_REFERER} !^http://www.benet.com/$ [NC] RewriteRule .*\.(gif|jpg|swf)$ http://www.benet.com/error.png [R,NC,L] #設定規則 盜用gif jpg swf 結尾的檔案時 跳轉盜鏈的替代圖片:(error.png圖片放在網站目錄下) .........省略n行 </Directory> (.*$:以任一字元結尾 NC:不區分大寫 R:強制跳轉)
測試
# vim /usr/local/httpd/htdocs/index.html //編輯預設首頁<html><body><h1>It works!</h1><img src=‘test.jpg‘ /> //添加測試圖片</body></html>
- 再開一台web伺服器
編輯一個盜鏈網頁
# vim /usr/local/httpd/htdocs/index.html //編輯盜鏈的首頁<html><body><h1>It works!</h1><img src=‘http://www.bt.com/test.jpg‘/>; //注意使用目標的圖片地址</body>
- 訪問盜鏈網頁
可以看到跳轉到 網站裡惡 error.png 圖片了
Apache 網頁與安全最佳化