日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
CentOS7中Apache的優(yōu)化與配置

記錄下在centos 7中apache的優(yōu)化與配置的一些筆記,希望對(duì)大家有所幫助。

成都創(chuàng)新互聯(lián)是一家專注于做網(wǎng)站、網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),印江網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:印江等地區(qū)。印江做網(wǎng)站價(jià)格咨詢:18982081108

mod_expires網(wǎng)頁緩存時(shí)間

現(xiàn)在的web網(wǎng)站會(huì)由很多的圖片、腳本、css以及flash等這些元素嵌入到頁面中,如果不設(shè)置緩存或者緩存設(shè)置不當(dāng),會(huì)導(dǎo)致客戶端向Web服務(wù)器訪問時(shí)都會(huì)重新下載一次這些內(nèi)容,浪費(fèi)了很多帶寬。通過Apache的mod_expires緩存模塊來設(shè)置ExpiresHeader來緩存這些文件。expires模塊通過Header報(bào)文來指定特定類型的文件在瀏覽器中的緩存時(shí)間,比如像圖片、flash等這些在發(fā)布后不需要經(jīng)常做修改的內(nèi)容。因此做了緩存之后,瀏覽器從web服務(wù)器上下載第一次之后,就不需要重新再次下載這些文件了,而是直接從瀏覽器的緩存中讀取了。通過這樣的設(shè)置能夠讓客戶端的訪問速度加快,同時(shí)也節(jié)省了很多帶寬。

/usr/local/apache/bin/apxs -c -i -a /usr/local/src/httpd-2.4.33/modules/filters/mod_expires.c

vi /usr/local/apache/conf/httpd.conf,找到并開啟

LoadModule expires_module modules/mod_expires.so

緩存的方法有三種,分別是對(duì)目錄,對(duì)全局,對(duì)虛擬主機(jī)

ExpiresActive on

    ExpiresDefault "access plus 12 month"

    ExpiresByType text/html "access 12 month"

    ExpiresByType text/css" access 12 month"

    ExpiresByType image/gif" access 12 month"

    ExpiresByType image/jpeg" access 12 month"

    ExpiresByType image/jpg "access 12 month"

    ExpiresByType image/png "access 12 month"

    ExpiresByType application/x-shockwave-flash "access 12 month"

    ExpiresByType application/x-Javascript "access 12 month"

    ExpiresByType video/x-flv "access 12 month"

全局緩存:直接在httpd.conf中配置以上內(nèi)容

目錄緩存:在httpd.conf中,找到你的網(wǎng)站目錄位置中添加以上內(nèi)容

#上面配置

虛擬主機(jī):

#
#    ServerAdmin webmaster@dummy-host2.example.com
#    DocumentRoot "/usr/local/apache/htdocs"
#    ServerName 127.0.0.1:80
#    ErrorLog "logs/dummy-host2.example.com-error.log"
#    CustomLog "logs/dummy-host2.example.com-access.log" common

#    在這里加入上面的配置

#

expires模塊語法:

expires模塊用到了ExpiresDefault和ExpiresByType兩個(gè)指令,以下是這兩個(gè)指令的語法:

ExpiresDefault "[plus]{}*"

ExpiresByType type/encoding '[plus]{}'

其中,base的參數(shù)有三個(gè):access,now(等價(jià)于'access'),modification

plus關(guān)鍵字是可選的

必須是整數(shù),確??梢詀toi()所接收,(atoi可以把字符串轉(zhuǎn)換成長整型數(shù))

參數(shù)類型:years,months,weeks,days,hours,minutes,seconds

使用緩存的好處:

1.縮短服務(wù)響應(yīng)時(shí)間,

2.減少服務(wù)器負(fù)載,

3.減少所需的網(wǎng)絡(luò)帶寬量,降低成本。

緩存的缺點(diǎn):由于使用了緩存,導(dǎo)致被緩存的內(nèi)容有更新時(shí),客戶端看到的還是舊的

解決方案:

1.根據(jù)業(yè)務(wù)內(nèi)容和需求,縮短緩存的時(shí)間

2.修改緩存文件的命名

隱藏版本號(hào)

用curl -I 域名 ,會(huì)發(fā)現(xiàn)如果沒有設(shè)置隱藏版本號(hào)的話,服務(wù)器版本及Openssl信息會(huì)全都顯示出來,這樣容易暴露web服務(wù)器版本,進(jìn)而通過版本號(hào)查找漏洞入侵web服務(wù)器。

例如:

HTTP/1.1 302 Found
Date: Wed, 11 Apr 2018 08:03:25 GMT
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips PHP/5.6.32
X-Powered-By: PHP/5.6.32
Set-Cookie: PHPSESSID=slukigut3n2fkuii73r4tse9k1; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Location: /Home/Login/index.html
Content-Type: text/html; charset=UTF-8

以上信息暴露了apache的版本號(hào)以及openssl的版本號(hào),按照下面的方法來隱藏Apache的版本號(hào)。

源碼編譯的Apache,以/usr/local/apache為主目錄

1. vim /usr/local/apache/conf/httpd.conf                                                                ### 編輯httpd.conf文件 

找到  Include conf/extra/httpd-default.conf,去掉前面的#號(hào),使其生效,wq保存

2. vim /usr/local/apache/conf/extra/httpd-default.conf

找到ServerTokens選項(xiàng),將其Full值改為Prod                                                                ### full值為顯示版本號(hào)以及其它詳細(xì)信息,Prod為隱藏這些信息

找到ServerSignature,將其On值改為Off                                                                                                                                                                                                                                                                ###  Yes為啟用這個(gè)指令用來配置服務(wù)器端生成文檔的頁腳(錯(cuò)誤信息mod_proxy的FTP目錄列表、mod_info的輸出),No為隱藏這些信息

以上方法只能隱藏版本號(hào)以及Openssl信息,如果需要真正隱藏命名,或者需要偽裝一個(gè)新的命名,需要先修改Apache的源碼包,然后再進(jìn)行編譯安裝

以源碼包httpd-2.4.33為例

1.cd 到解壓好的 httpd-2.4.33 文件夾里

2.找到include/ap_release.h文件

3.vim httpd-2.4.33/include/ap_release.h文件

找到以下幾行:

#define AP_SERVER_BASEVENDOR "Apache Software Foundation"              ###服務(wù)的供應(yīng)商名稱
#define AP_SERVER_BASEPROJECT "Apache HTTP Server"                            ###服務(wù)的項(xiàng)目名稱         
#define AP_SERVER_BASEPRODUCT "Apache"                                                ###服務(wù)的產(chǎn)品名

#define AP_SERVER_MAJORVERSION_NUMBER 2                                            ###主版本號(hào)
#define AP_SERVER_MINORVERSION_NUMBER 4                                            ###小版本號(hào)
#define AP_SERVER_PATCHLEVEL_NUMBER  33                                              ###補(bǔ)丁級(jí)別
#define AP_SERVER_DEVBUILD_BOOLEAN    0                                                  #

將上邊的內(nèi)容改成你想要的信息,然后保存,前面的#號(hào)保留。編譯安裝,這樣再用curl -I 域名 命令來查詢時(shí)就是你修改后的信息了,對(duì)方就徹底不知道你的服務(wù)器是什么版本的了^_^

開啟deflate壓縮模塊

啟用Apache的deflate模塊,可以開啟壓縮功能,減小網(wǎng)站傳輸時(shí)的帶寬。

apache需要編譯安裝方式,以/usr/local/apache為apache的安裝目錄,以源碼包/usr/local/src/httpd-2.4.33為例

首先查看/usr/local/apache/bin/apachectl -M    ###查看里面的模塊是否有deflate模塊,也可以過濾一下/usr/local/apache/bin/apachectl -M | grep deflate

若有則到httpd.conf下面開啟,如果沒有顯示,或者用grep過濾后顯示Syntax OK,則說明模塊沒有安裝。

以動(dòng)態(tài)共享模塊方式(DSO)編譯安裝deflate模塊

/usr/local/apache/bin/apxs -c -i -a /usr/local/src/httpd-2.4.33/modules/filters/mod_deflate.c        #其中前面部分是安裝好的apache軟件里面的apxs程序,后面是apache的源碼安裝包里面的deflate壓縮模塊

apxs程序編譯選項(xiàng):

-c 表示執(zhí)行編譯模塊操作

-i  表示執(zhí)行安裝模塊操作

-a 表示自動(dòng)添加一個(gè)LoadModule行到httpd.conf文件中,以激活該模塊

注意:如果提示-bash: /apache/bin/apxs: /replace/with/path/to/perl/interpreter: bad interpreter: No such file or directory。請(qǐng)安裝perl,perl-devel

yum install perl perl-devel

安裝完成后修改apxs腳本:  vi /usr/local/apache/bin/apxs,將第一行“#!/replace/with/path/to/perl/interpreter -w”修改為#!/usr/bin/perl -w,wq保存退出,然后再次編譯該模塊

安裝完成后,vi /usr/local/apache/conf/httpd.conf中查看該模塊是否安裝及激活

LoadModule deflate_module            modules/mod_deflate.so

注意:如果啟動(dòng)apache提示httpd: Syntax error on line 105 of /apache/conf/httpd.conf: Cannot load modules/mod_deflate.so into server: /apache/modules/mod_deflate.so: undefined symbol: inflate

則說明deflate模塊沒有找到zlib的庫,可以先安裝zlib,zlib-devel

yum install zlib zlib-devel

然后手動(dòng)在httpd.conf下 加入以下命令

LoadFile /usr/lib64/libz.so  ##libz.so為deflate壓縮模塊所需要的庫文件

    DeflateCompressionLevel 9 

    SetOutputFilter DEFLATE

    DeflateFilterNote Input instream

    DeflateFilterNote Output outstream

    DeflateFilterNote Ratio ratio

    AddOutputFilterByType    DEFLATE    text/html    text/plain    text/xml    text/css    text/javascript  application/xhtml+xml  application/xml    application/rss+xml    application/atom_xml    application/x-javascript      application/x-httpd-php    image/svg+xml    image/gif    image/png      image/jpe    image/swf    image/jpeg    image/bmp    application/javascript   

DeflateCompressionLevel 9 ###壓縮等級(jí)(1-9),等級(jí)越大效率越高,但同時(shí)消耗的CPU也高,根據(jù)具體情況調(diào)優(yōu),也可以設(shè)置為6來平衡CPU及壓縮質(zhì)量

AddOutputFilterByType  ##僅壓縮限制特定的MIME類型文件


名稱欄目:CentOS7中Apache的優(yōu)化與配置
鏈接URL:http://m.5511xx.com/article/ccdjhoh.html