国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

CentOS 7配置Apache服務(wù)故障

2020-06-20 13:02枝江市職業(yè)教育中心楊華
網(wǎng)絡(luò)安全和信息化 2020年6期
關(guān)鍵詞:配置文件域名端口

■ 枝江市職業(yè)教育中心 楊華

目前能夠提供Web網(wǎng)絡(luò)服務(wù)的程序有IIS、Nginx和Apache等。其中,IIS是Windows系統(tǒng)中默認(rèn)的Web服務(wù)程序,是一款圖形化的網(wǎng)站管理工具,不僅可以提供Web網(wǎng)站服務(wù),還可以提供FTP、NMTP及SMTP等服務(wù)。但I(xiàn)IS只能在Windows系統(tǒng)中使用。

Apache程序是目前擁有很高市場占有率的Web服務(wù)程序之一,其跨平臺和安全性廣泛被認(rèn)可且擁有快速、可靠、簡單的API擴(kuò)展。Apache服務(wù)程序可以運(yùn)行在Linux系統(tǒng)、Unix系統(tǒng)甚至是Windows系統(tǒng)中,支持基于IP、域名及端口號的虛擬主機(jī)功能,支持多種認(rèn)證方式,集成有代理服務(wù)器模塊、安全Socket層(SSL),能夠?qū)崟r監(jiān)視服務(wù)狀態(tài)與定制日志消息,并有著各類豐富的模塊支持。

一方面在Web服務(wù)器軟件市場具有相當(dāng)高的占有率,另一方面Apache也是RHEL 7系統(tǒng)中默認(rèn)的Web服務(wù)程序,而且還是RHCSA和RHCE(紅帽)認(rèn)證考試的必考內(nèi)容。

因此,無論從實(shí)際應(yīng)用角度還是從應(yīng)對紅帽認(rèn)證考試的角度,我們都有必要好好學(xué)習(xí)Apache服務(wù)程序的部署,并深入挖掘其可用的豐富功能。

首先我們要正確安裝Apache服務(wù),然后啟動服務(wù)。

注意:以上只是提供服務(wù)啟動失敗,具體的錯誤詳細(xì)信息則可以利用"systemctl status httpd.service"來查看。

端口占用

顯示提示:(98)Address already in use:AH00072:make_sock:could n...]:80

出現(xiàn)“address already in use”,則我們需要修改端口,以上錯誤提示無法綁定80端口,因?yàn)閃WW服務(wù)默認(rèn)端口是80。

這里有兩種解決方案:

1.找出占用80端口的服務(wù)或程序,把它停用即可。

先找到占用端口的程序進(jìn)程號:

再根據(jù)進(jìn)程號找出對應(yīng)的服務(wù)或程序:

現(xiàn)在我們可以根據(jù)實(shí)際情況刪除該服務(wù)或程序,或者找到相關(guān)配置文件,修改端口。

2.如果以上服務(wù)或程序無法刪除或因其它原因不能做任何修改,那就只好修改自己配置文檔,重新啟用80以外的端口:

進(jìn)入配置文件后,修改配置文件,此處為Listen 8080。

當(dāng)然為確保該端口,可以先查詢下使用情況,結(jié)果沒有任何匹配信息,可以放心使用了:

筆者本以為這樣配置后,馬上就可以使用8080端口正常訪問了,但希望很快破滅了,又出現(xiàn)了如下錯誤信息:

怎么又占用了?通過查詢不是沒有程序使用該端口嗎?

原來,同樣是端口問題,但原因不一樣了:Permission denied (拒絕訪問)。

這里有必要提到Linux下重要的安全措施——SELinux安全子系統(tǒng)。

SELinux(Security-Enhanced Linux)是一個強(qiáng)制訪問控制(MAC)的安全子系統(tǒng)。RHEL 7系統(tǒng)使用SELinux技術(shù)的目的是為了讓各個服務(wù)進(jìn)程都受到約束,使其僅獲取到本應(yīng)獲取的資源。

例如,您在自己的電腦上下載了一個修圖軟件,當(dāng)您全神貫注地使用它給照片進(jìn)行美顏時,它卻在后臺默默監(jiān)聽著瀏覽器中輸入的密碼信息,而這顯然不應(yīng)該是它應(yīng)做的事情(哪怕是訪問電腦中的圖片資源)。

SELinux安全子系統(tǒng)就是為了杜絕此類情況而設(shè)計的,它能夠從多方面監(jiān)控違法行為:對服務(wù)程序的功能進(jìn)行限制(SELinux域限制可以確保服務(wù)程序做不了出格的事情);對文件資源的訪問限制(SELinux安全上下文確保文件資源只能被其所屬的服務(wù)程序進(jìn)行訪問)。

系統(tǒng)默認(rèn)SELinux是處于強(qiáng)制級別,這里我們只做簡單的配置,將它配置成松散級別,以確保我們的服務(wù)正常啟用即可。(當(dāng)然,從安全角度來講,作者不建議這么做,因?yàn)樗呐渲幂^復(fù)雜,以后專門來討論)。

SELinux的運(yùn)行模式分為三種:enforcing(強(qiáng)制)、permissive(寬松),以及disabled(徹底禁用)。

通過getenforce查看當(dāng)前SElinux狀態(tài):

只要通過setenforce 0更改它的運(yùn)行模式即可:

不過以上只是臨時配置,每次系統(tǒng)啟動都要重新配置。如果需要永久配置可以編輯配置文件“/etc/selinux/config”,修改以下選項(xiàng):

SELINUX=permissive

至此,端口問題總算解決了。

注意:有時出現(xiàn)以下提示錯誤:apache啟動錯誤 AH00072:make_sock:could not bind to address[::]:443。

httpd.conf里面配置的listen端口是80,但是提示是443,奇怪了,其實(shí)443是apache-ssl的端口,也就是我們通過https://安全訪問時的默認(rèn)端口,處理方法同上了。

經(jīng)過以上配置,端口占用的情況應(yīng)該可以排除了,服務(wù)總算可以正常啟動了。根據(jù)常規(guī)流程,應(yīng)該可以正常訪問了,但結(jié)果是打開瀏覽器仍然無法訪問。

Apache服務(wù)器基本配置

經(jīng)過以上折騰,繼續(xù)驗(yàn)證Apache服務(wù)是否正常啟動:

這是一個警告提示信息,“全局設(shè)置“ServerName”指令以禁止顯示此消息”。

雖然只是個警告信息,可能不會影響服務(wù)的正常運(yùn)行,但在后期的調(diào)試中,可能會出現(xiàn)其它的故障。

因?yàn)楦鶕?jù)配置文檔中“ServerName”的注釋說明,默認(rèn)是不需要指定的,服務(wù)器通過名字解析過程來獲得自己的名字。但如果解析有問題(如反向解析不正確),或者沒有DNS名字,也可以在這里指定IP地址,當(dāng)這項(xiàng)不正確的時候服務(wù)器不能正常啟動。

解決方法就是啟動該項(xiàng),把“www.example.com:80”修改為自己的域名或者直接修改為“l(fā)ocalhost”。此項(xiàng)配置文件中有兩處,第一處是全局選項(xiàng),這是我們初次配置是需要關(guān)注的。

另外一處一般出現(xiàn)在下面的局部配置(如下所示),是需要做虛擬主機(jī)制的配置,此時可暫時略過了。

1.主機(jī)名不是默認(rèn)的localhost(如筆者的主機(jī)名:hbzjtb)

系統(tǒng)主要在以下兩個配置文件中驗(yàn)證主機(jī)名的映射了:系統(tǒng)會先在httpd.conf中搜索主機(jī)域名映射,如果沒有得到解析,那么就會轉(zhuǎn)去hosts文件中試圖使用主機(jī)名來取代,如果還是沒有找到,就會出現(xiàn)以上錯誤提示。

(1)修改配置文件httpd.conf

系統(tǒng)默認(rèn)首先到“/etc/httpd/conf/httpd.conf”項(xiàng)中查看ServerName選項(xiàng),而對于此項(xiàng),系統(tǒng)默認(rèn)有一個詳細(xì)配置說明,但下面是一個注釋項(xiàng),需要用戶根據(jù)自己的域名注冊記錄進(jìn)行修改。

譯文:“server name”提供服務(wù)器用來標(biāo)識自身的名稱和端口。這通常可以自動確定,但筆者建議您顯式指定它,以防止在啟動期間出現(xiàn)問題。如果您的主機(jī)沒有注冊的DNS名稱,請在此處輸入其IP地址:

所以這個地方可以去掉注釋,寫成:

注意:其實(shí)這個地方只要基本語法正確,即ServerName后一定是“主機(jī)名或IP:端口號”,系統(tǒng)并不會驗(yàn)證其主機(jī)名和IP及端口號。即輸入“ServerName www.hbzj.cn:8080”,也會讓HTTPD服務(wù)正常加載運(yùn)行了。只不過后面如果要通過域名服務(wù),就會出現(xiàn)訪問故障了。

譯文:/etc/httpd/conf/httpd.conf的第43行出現(xiàn)語法錯誤:

ServerName接受一個參數(shù),即服務(wù)器的主機(jī)名和端口。

(2)修改配置文件/etc/hosts

如果上面的配置文件沒有更改,接下來系統(tǒng)會繼續(xù)驗(yàn)證/etc/hosts中查詢域名映射是否正確,因?yàn)閘ocalhost是系統(tǒng)默認(rèn)的主機(jī)名,所在在配置文件中hosts中有映射記錄。

所以,如果默認(rèn)沒有更改主機(jī)名,就直接驗(yàn)證通過。但主機(jī)名已更改了,這地方要做以下修改:

127.0.0.1 localhost.localdomain localhost hbzjtb

注意:并不是Windows下的127.0.0.1 hbzjtb

2.主機(jī)名就是默認(rèn)的localhost

系統(tǒng)會根據(jù)配置文件映射到默認(rèn)的localhost,所以以上兩個配置文件不需要做任何修改,系統(tǒng)httpd服務(wù)即可順利啟動。

防火墻安全配置

經(jīng)過以上艱難的排錯,終于看到了Apache正常啟動信息。馬上去瀏覽器打開網(wǎng)頁,期待的默認(rèn)主面卻并沒有出現(xiàn)。

筆者猛然想到Linux嚴(yán)格的安全機(jī)制,防火墻好像沒有去配置。

查看防火墻設(shè)置:

發(fā)現(xiàn)果然沒有開啟任何服務(wù)端口,馬上開啟:

注意: “--permanent #”永久生效,沒有此參數(shù)重啟后將失效。

網(wǎng)頁重新加載,久違的默認(rèn)主頁終于出現(xiàn)了。

猜你喜歡
配置文件域名端口
基于Docker的實(shí)時數(shù)據(jù)處理系統(tǒng)配置文件管理軟件的設(shè)計與實(shí)現(xiàn)
一種有源二端口網(wǎng)絡(luò)參數(shù)計算方法
從Windows 10中刪除所有網(wǎng)絡(luò)配置文件
一種端口故障的解決方案
用軟件處理Windows沙盒配置文件
《江蘇教育研究》官方網(wǎng)站域名變更公告
多按鍵情況下,單片機(jī)端口不足的解決方法
互不干涉混用Chromium Edge
現(xiàn)有網(wǎng)絡(luò)架構(gòu)及遷移方案
頂級域名爭奪戰(zhàn):ICANN放出1930個通用頂級域名,申請者有上千家