各位老師,今日準(zhǔn)備入門nginx,結(jié)果還沒入門就栽了一個(gè)大跟頭T_T在nginx.conf中有這樣一段#log_formatmain'$remote_addr-$remote_user[$time_local]"$request"'#'$status$body_bytes_sent"$http_referer"'#'"$http_user_agent""$http_x_forwarded_for"';這里定義了日志的格式,其中$status變量引起了我的注意。查看access.log日志,我的確也看到了200404一類的狀態(tài)碼。我覺得這個(gè)變量就很有用了,比如說我代理了一個(gè)地址location/{proxy_passhttp://127.0.0.1:8000/;}我想獲得代理的這個(gè)地址返回的各種http狀態(tài),我就可以通過$status來判斷。但是我嘗試返回這個(gè)變量時(shí)location/{if($status){return$status;}proxy_passhttp://127.0.0.1:8000/;}卻打印出來了:invalidreturncode"$status"inE:nginx/conf/nginx.conf:52如果我寫成:location/{if($status){return404;}proxy_passhttp://127.0.0.1:8000/;}則所有的請求都可以正常返回404,翻了一下nginix文檔,在HTTPCore模塊中沒有發(fā)現(xiàn)$status這個(gè)變量,那么我想請問下,這個(gè)變量是干什么用的?我怎樣才可以獲取到代理地址返回的狀態(tài)碼?謝謝~
小白,請教各位大佬!請問nginx中$status變量的問題各位有什么建議?
千萬里不及你
2019-09-09 21:22:48