伊人大杳蕉2_第一福利精品500在线导航_亚洲综合在人线播放器_最新国产免费AV片在线观看_97se亚洲综合自在线尤物

您現(xiàn)在的位置:?首頁>> 動態(tài) >> 正文

今日熱議:寶塔面板創(chuàng)建DVWA靶場,php-fpm報502問題

來源: 騰訊云

今天閑來無事,想著重新搭建DVWA靶場耍耍,遂在寶塔面板上嘗試搭建DVWA靶場,搭建過程中,發(fā)現(xiàn)訪問php頁面訪問報錯502狀態(tài)碼,于是就把排查解決過程中記錄了下來,供大家參考。

一、寶塔面板搭建DVWA服務

1、創(chuàng)建站點

這里沒有域名,“域名”參數(shù)使用IP加端口代替即可,如果沒有對應的根目錄,寶塔也會自動生成


(相關(guān)資料圖)

注意:如果nginx服務的屬組和屬主是www,自己創(chuàng)建目錄時務必將文件夾歸屬修改到www屬組、屬主下。

創(chuàng)建站點

訪問81端口測試,站點創(chuàng)建成功。

站點創(chuàng)建成功

2、靶場文件上傳到站點根目錄

下載DWVA靶場壓縮包并上傳、解壓到站點根目錄

下載地址:https://github.com/digininja/DVWA

站點根目錄

3、修改DVWA配置

(1)將config.inc.php.dist文件重命名為config.inc.php

config.inc.php配置文件

(2)修改配置文件config.inc.php中的數(shù)據(jù)庫連接信息;這里可以不需要單獨創(chuàng)建數(shù)據(jù)庫用戶,可以等后面“初始化數(shù)據(jù)庫”時自動創(chuàng)建。

配置文件中的數(shù)據(jù)庫連接信息

(3)正常來說,到這里后,是可以正常訪問DVWA靶場了,只需要在網(wǎng)頁上操作“創(chuàng)建數(shù)據(jù)庫”即可;但測試訪問DVWA的PHP頁面 返回502狀態(tài)碼。這里可能是php進程有問題,需要結(jié)合訪問日志、錯誤日志進一步排查核實。

訪問PHP頁面報錯502

二、502狀態(tài)碼原因分析

1、php-fpm進程運行情況

查詢PHP進程正常運行,排除php-fpm進程運行未啟動的因素

ps命令查詢php-fpm進程正常運行

2、服務器負載

也可能是服務器負載過高導致,但查詢服務器近期負載很低;

服務器負載

3、Nginx日志

(1)查看nginx訪問日志,status、upstream_status都是502,需要進一步查看錯誤日志

61.141.74.244 - - [19/Apr/2023:14:39:36 +0800] "GET /DVWA/index.php HTTP/1.1" 502 552 "-" "M

ozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0

.0.0 Safari/537.36"

(2)錯誤日志顯示是unix:/tmp/php-cgi-74.sock連接失敗導致,即這里php-fpm的listen是通過unix sock方式連接

nginx錯誤日志

2023/04/19 14:39:36 [error] 19696#0: *119185 connect() to unix:/tmp/php-cgi-74.sock failed (111: Connection refused) while connecting to upstream, client: 192.168.8.88, server: 192.168.1.168, request: "GET /DVWA/index.php HTTP/1.1", upstream: "fastcgi://unix:/tmp/php-cgi-74.sock:", host: "192.168.1.168:81"

但查詢nginx與php-fpm的交互路徑是通過http方式

php-fpm.conf文件配置:

listen = 127.0.0.1:9000

nginx與php-fpm的交互路徑是通過http方式

3、fastcgi_pass為配置nginx與php-fpm的交互路徑,一般有兩種方式 :

(1)sock方式:fastcgi_pass unix:/tmp/php-cgi-74.sock;

(2)http方式:fastcgi_pass 127.0.0.1:9000;

任選其中一種即可,但必須和php-fpm的配置一致。

三、解決php-fpm 502狀態(tài)碼問題

1、創(chuàng)建對應的sock文件

創(chuàng)建sock文件,由于nginx、PHP服務使用的是www用戶組、www用戶權(quán)限,所以這里還需要賦予對應的屬主和屬組權(quán)限

touch /tmp/php-cgi-74.sock

chown www.www /tmp/php-cgi-74.sock

重啟nginx、php進程,未解決;

2、修改nginx、php-fpm配置

(1)nginx配置文件中增加/修改以下配置:

location ~\.php$ {

root /www/wwwroot/dvwa_root;

fastcgi_pass unix:/tmp/php-cgi-74.sock;

fastcgi_index index.php;

include fastcgi.conf;

}

nginx配置文件

(2)同時,修改php-fpm的配置文件php-fpm.conf,把nginx與php-fpm的交互路徑從http方式改為sock方式,于是這里將“l(fā)isten = 127.0.0.1:9000”改為

listen = /tmp/php-cgi-74.sock

listen.owner = www

listen.group = www

listen.mode = 0660

php-fpm的listen配置

備注:php-fpm配置文件中不要使用注釋符,否則啟動時報錯:

使用注釋符導致報錯-1
使用注釋符導致報錯-2

(3)至此,重啟nginx、php-fpm進程后,DVWA靶場可以正常訪問。

點擊“Create/Reset Database”,等一兩分鐘創(chuàng)建完成后,即可正常訪問DVWA靶場;默認密碼是admin/password。

創(chuàng)建/重置數(shù)據(jù)庫
DVWA靶場正常訪問

結(jié)后語:這里

相關(guān)新聞