首先是偽代碼(即不被nginx支持),寫(xiě)在這里只是為了方便理解:
if ($remote_addr ~ "^(12.34|56.78)" && $http_user_agent ~* "spider") { return 403; }
從這句話我們可以知道,如果滿足條件一并同時(shí)也滿足條件二,就返回一個(gè)值403。
下面這是等效的,并真實(shí)可用的配置
set $flag 0; if ($remote_addr ~ "^(12.34|56.78)") { set $flag "${flag}1"; } if ($http_user_agent ~* "spider") { set $flag "${flag}2"; } if ($flag = "012") { return 403; }
這里就相當(dāng)于是定義一個(gè)值(值一),如果滿足條件一這個(gè)值一就變成另一個(gè)值(值二),如果在滿足條件二那么這個(gè)值二就變成另一個(gè)值(值三),最后如果值三等滿足我們定義的一個(gè)值那么就返回我們的403.
這樣就達(dá)到同樣的效果了。
提交成功!非常感謝您的反饋,我們會(huì)繼續(xù)努力做到更好!
這條文檔是否有幫助解決問(wèn)題?
還沒(méi)有賬號(hào)?立即 免費(fèi)注冊(cè)
賬號(hào)登錄還沒(méi)有賬號(hào)?立即注冊(cè)
服務(wù)熱線:4006-75-4006(7*24小時(shí)在線)
總機(jī)直撥:0871-63886388(工作日9:00-18:00)
售前咨詢
4006-75-4006
4006-75-4006(09:00-23:30) 0871-6388 6388 (總機(jī))(工作日 09:00-18:00)
售后咨詢
備案咨詢
0871-6388 6388
電話
二維碼
TOP