如何解決apache httpd服務(wù)器403 forbidden的問題?相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),高港企業(yè)網(wǎng)站建設(shè),高港品牌網(wǎng)站建設(shè),網(wǎng)站定制,高港網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,高港網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
一、問題描述
在apache2的httpd配置中,很多情況都會(huì)出現(xiàn)403。
剛安裝好httpd服務(wù),當(dāng)然是不會(huì)有403的問題了。主要是修改了一些配置后出現(xiàn),問題描述如下:
修改了DocumentRoot目錄指向后,站點(diǎn)出現(xiàn)403錯(cuò)誤。
設(shè)置了虛擬主機(jī)目錄也可能導(dǎo)致403。
apache的httpd服務(wù)成功啟動(dòng),看起來都很正常,卻沒有權(quán)限訪問
日志出現(xiàn): access to / denied (filesystem path '/srv/lxyproject/wsgi/django.wsgi') because search permissions are missing on a component of the path
設(shè)置虛擬目錄后,錯(cuò)誤日志出現(xiàn):client denied by server configuration: /srv/lxyproject/wsgi/django.wsgi
二、分析問題及方案
下面一步步解決問題時(shí)注意錯(cuò)誤日志內(nèi)容。ok,開始。
1、httpd.conf中目錄配置文件
如果顯示更改了DocumentRoot,比如改為 "/usr/local/site/test" 。site目錄和test目錄是通過使用mkdir建立的,然后在test目錄下放一個(gè)index.html。這種情況應(yīng)該查看httpd.conf中配置。
你的
# # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.4/mod/core.html#options # for more information. # Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride None # # Controls who can get stuff from this server. # Require all granted
2、目錄訪問權(quán)限
第一步配置正確還是出現(xiàn)403,檢查目錄配置
可以設(shè)置為Allow from all或者Require all granted來處理。
不要修改
3、目錄權(quán)限
如果至此還是403,可能是網(wǎng)站目錄的權(quán)限問題。
apache要求目錄具有執(zhí)行權(quán)限,也就是x,要注意的是,你的目錄樹都應(yīng)該擁有這些權(quán)限。
假如你的目錄是/usr/local/site/test,那么要保證/usr,/usr/local,/usr/local/site,/usr/local/site/test這四個(gè)層級(jí)的目錄都是755權(quán)限。
#chmod 755 /usr/local/site #chmod 755 /usr/local/site/test
我犯過一個(gè)錯(cuò)就是只設(shè)置了最后一級(jí)目錄權(quán)限,沒有設(shè)置上級(jí)目錄權(quán)限,導(dǎo)致403。
4、 虛擬目錄
【這個(gè)問題我沒遇到過,因?yàn)槲覜]這樣寫過,網(wǎng)上資料這么寫,可作為參考】
如果設(shè)置的是虛擬目錄,那么你需要在httpd.conf中定義一個(gè)虛擬目錄,而且像極了如下的片段:
Alias /folder "/usr/local/folder"Options FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.1 192.168.1.1
如果是這一種情況,而且你寫得類似我上面的代碼,三處folder都是一樣一樣的,那絕對(duì)會(huì)是403!怎么解決呢,就是把跟在Alias后面斜杠后面的那串改了,改成什么,不要和虛擬目錄的文件夾同名就好,然后我就可以用改過后的虛擬目錄訪問了,當(dāng)然,改文件夾也行,只要你不怕麻煩,只要Alias后面的虛擬目錄定義字符(紅色)和實(shí)際文件夾名(黑色)不相同就OK。
5、selinux的問題
如果依然是403,那就是selinux在作怪了,于是,你可以把你的目錄進(jìn)行一下selinux權(quán)限設(shè)置。
今天我遇到的就是這個(gè)問題了。
#chcon -R -t httpd_sys_content_t /usr/local/site #chcon -R -t httpd_sys_content_t /usr/local/site/test
網(wǎng)上資料說不過,這一步大多不會(huì)發(fā)生。但我的問題確實(shí)是,可能跟系統(tǒng)有關(guān),具體原理還不是很懂。
6、wsgi的問題
我的虛擬主機(jī)配置為:
WSGIScriptAlias / /srv/lxyproject/wsgi/django.wsgi Alias /static/ /srv/lxyproject/collectedstatic/ ServerName 10.1.101.31 #ServerName example.com #ServerAlias www.example.com Options Indexes FollowSymLinks AllowOverride None Require all granted Allow from all ErrorLog /etc/httpd/logs/lxyproject.error.log LogLevel warn
我訪問
log報(bào)錯(cuò):
client denied by server configuration: /srv/lxyproject/wsgi/django.wsgi
解決辦法:
修改
這個(gè)問題是因?yàn)榘姹镜脑颍?/p>
我的httpd版本為:
[root@yl-web conf.d]# rpm -qa |grep httpd httpd-devel-2.4.6-31.el7.centos.x86_64 httpd-tools-2.4.6-31.el7.centos.x86_64 httpd-2.4.6-31.el7.centos.x86_64
而2.3以下版本用Allow from all,2.3及以上版本為Require all granted。
Order allow,deny Allow from all = 2.3> Require all granted
上述就是小編為大家分享的解決apache httpd服務(wù)器403 forbidden問題的方法了,如果您也有類似的疑惑,不妨參照上述方法進(jìn)行嘗試。如果想了解更多相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊。