時間:2022-10-11來源:www.ship-models.net作者:電腦系統城
在企業中,部署Apache后只采用默認的配置參數,會引發網站很多問題,換言之默認配置是針對以前較低的服務器配置的,以前的配置已經不適用當今互聯網時代。
為了適應企業需求,就需要考慮如何提升Apache的性能與穩定性,這就是Apache優化的內容。
1 | apachectl -t -D DUMP_MODULES | grep "deflate" |
如果沒有安裝mod_deflate 模塊,重新編譯安裝 Apache 添加 mod_deflate 模塊
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
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 make && make install |
1 | vim /usr/local/httpd/conf/httpd .conf |
--52行--修改
--105行--取消注釋
--197行--取消注釋,修改
--末行添加--
1 2 3 4 5 |
<IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text /html text /plain text /css text /xml text /javascript text /jpg text /png DeflateCompressionLevel 9 SetOutputFilter DEFLATE < /IfModule > |
1 2 3 4 5 |
[root@www htdocs] #apachectl -t Syntax OK [root@www htdocs] #apachectl -t -D DUMP_MODULES | grep "deflate" deflate_module (shared) [root@www htdocs] #systemctl start httpd |
編輯測試網頁:
1 2 3 4 5 |
cd /usr/local/httpd/htdocs vim index.html <html><body><h1>It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!< /h1 > <img src= "game.jpg" /> < /body >< /html > |
測試:
方式一:
在Linux系統中,打開火狐瀏覽器,右擊點查看元素
選擇 網絡 ---> 選擇 HTML、WS、其他
訪問 http://192.168.80.10 ,雙擊200響應消息查看響應頭中包含 Content-Encoding: gzip
方法二:
在Windows系統中依次安裝 Microsoft.NET4 和fiddler 軟件,打開fiddler 軟件
選擇 inspectors ---> 選擇 Headers
瀏覽器訪問 http://192.168.80.10 ,雙擊200響應消息查看是否存在 Content-Encoding: gzip
減少網絡延遲,加快頁面打開速度--緩存比源服務器離客戶端更近,因此,從緩存請求內容比從源服務器所用時間更少,緩存的使用能夠明顯加快頁面打開速度,達到更好的體驗。
降低服務器的壓力--給網絡資源設定有效期之后,用戶可以重復使用本地的緩存,減少對源服務器的請求,間接降低服務器的壓力。同時,搜索引擎的爬蟲機器人也能根據過期機制降低爬取的頻率,也能有效降低服務器的壓力。
減少網絡帶寬損耗--無論對于網站運營者或者用戶,帶寬都代表著金錢,當Web緩存副本被使用時,只會產生極小的網絡流量,可以有效的降低運營成本。
1 | apachectl -t -D DUMP_MODULES | grep "expires" |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
systemctl stop httpd.service cd /usr/local/httpd/conf mv httpd.conf httpd.conf.bak1 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 \ -- enable -expires make && make install |
1 | vim /usr/local/httpd/conf/httpd .conf |
52行和199行的監聽繼續取消注釋,進行相關修改
--111行--取消注釋
--末行添加--
1 2 3 4 |
<IfModule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 60 seconds" < /IfModule > |
1 2 3 |
[root@www httpd-2.4.29] #apachectl -t [root@www httpd-2.4.29] #apachectl -t -D DUMP_MODULES | grep "expires" [root@www httpd-2.4.29] #systemctl restart httpd |
1 | [root@www httpd-2.4.29] #cd /usr/local/httpd/htdocs |
1 2 3 4 5 6 7 8 9 |
vim index.html < html > < body > < h1 > this is a game </ h1 > < img src = "games.jpg" /> </ body > </ html > |
訪問測試:
如果我們開啟了Apache服務,那么他人就可以通過F12找到你的Apache版本號,從而利用一些已知的漏洞或者零day漏洞來進行攻擊,這是非常危險的。所以為了減少一點――哪怕是一點點的風險,我們最好選擇隱藏Apache的版本信息。
1 | vim /usr/local/httpd/conf/httpd .conf |
--491行--取消注釋
1 | vim /usr/local/httpd/conf/extra/httpd-default .conf |
--55行--修改
重啟服務,測試訪問:
如果頁面信息沒有刷新成功??梢試L試先清空歷史記錄中的所有信息,再進行訪問
互聯網時代,網站最為關心的問題就是用戶訪問量。而吸引用戶的往往就是新穎的標題,圖片及其內容,而承載著這些,需要占用服務器的資源。而有些缺德企業會將自己網站中圖片重定向到你的網站上,讀取你的圖片,占用著你的帶寬,服務器資源,但訪問量卻被它所占據。
所以apache防盜鏈的設置很有必要。
本實驗中我準備了兩臺虛擬機,一臺是源碼編譯安裝apche服務的主機,作為被盜鏈的主機,域名設置為www.test.com 另一臺為yum安裝apache服務的主機,作為盜鏈的主機,域名設置為www.test1.com
注意:本次測試訪問的是盜鏈的主機,探究圖片的來源
因為本機源碼編譯時,已經下載了相關模塊,所以直接修改配置。如果沒有下載相關的模塊,還要進行下載配置。
下載配置方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
systemctl stop httpd.service cd /usr/local/httpd/conf mv httpd.conf httpd.conf.bak2 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 \ #加入mod_rewrite 模塊 -- enable -charset-lite \ -- enable -cgi \ -- enable -deflate \ -- enable -expires make && make install |
修改主配置:
1 | vim /usr/local/httpd/conf/httpd .conf |
--157行--取消注釋
--224行--進行配置添加
RewriteCond %{HTTP_REFERER} !^http://www.test.com/.*$ [NC] 的字段含義:
“[NC]” :表示不區分大小寫字母。
RewriteRule .*\.(gif|jpg|swf)$ http://www.test.com/error.png 的字段含義:
訪問被盜鏈主機網頁:
訪問盜鏈主機網頁:
到此這篇關于Apache網頁的優化、安全與防盜鏈的文章就介紹到這了,更多相關Apache網頁優化 安全與防盜鏈內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!
2022-10-11
Nginx的優化、安全與防盜鏈實例詳解2022-10-02
Elasticsearch6.2服務器升配后的bug(避坑指南)2022-10-02
aarch64服務器部署mysql的流程分析Navicat 連接服務器不成功(Access denied for user 'root'@ '*.*.*.*' (using password: YES)),出現這種原因一般是服務器的root用戶沒有開啟訪問權限,本文給大家分享解決方法...
2022-10-02