當前位置:星座運勢大全官網 - 八字算命 - 使用Nginx配置文件屏蔽指定的請求。

使用Nginx配置文件屏蔽指定的請求。

由於工作需要,nginx配置有幾個要求,這裏整理記錄壹下。

1.屏蔽請求模式,只允許POST、GET等。

當存在我們不允許的訪問網站的請求方式時,定義返回403狀態代碼。示例配置如下:

if ($request_method!~ ^(GET|POST)$)

{

返回403;

}

2.定義錯誤頁面

有時當我們訪問壹個不存在的頁面或者報告壹個錯誤,比如403/404/502/503/504/405,或者出現壹個類似500的程序錯誤,為了安全和用戶友好,我們希望跳轉到壹個統壹的錯誤頁面。您可以添加以下示例配置:

error _ page 404 403 502 503/error . html

location = /error.html {

根html

}

這裏的前提是自己寫壹個錯誤頁,放在指定的nginx服務器目錄下。

3.屏蔽指定的url

例如,當壹個nginx提供的多個server _ name共享靜態資源,但是存在只有壹個server _ name想要訪問的資源;比如程序不夠合理,生產環境運行時發現有些地址不應該提供上網;或者我們想通過nginx篩選掉壹些特殊字符之類的惡意訪問,可以使用下面的樣例配置來篩選指定的url,跳轉到錯誤頁面:

if ( $request_uri ~* "..;| test 1234 | home/test . do "){

重寫xxxxxxxxx#或return指定錯誤代碼。

}

範圍可以是服務器或位置。上面的寫法是對包含上面字符串的url使用正則匹配,根據使用場景調整,轉義使用,多個字符串用|隔開。

4.屏蔽指定的IP地址

例如,當我們的服務只想指定IP地址可以訪問或者部署後指定的IP不可訪問時,我們可以使用下面的示例配置來強制跳轉到錯誤頁面。

if ($http_x_forwarded_for!~ ^(192.168.3.100|123.123.123.123|222.222.222.222)) {

返回403;#或重寫指定頁面。

}

範圍可以是服務器或位置。

5.更奇特的需求

我有壹個服務,test,對互聯網開放,但是地址,比如/test/admin.jsp和/test/config.jsp,只允許少數指定的人訪問,其他人不允許訪問。在這裏,我結合使用上面的3和4。配置示例如下:

位置/測試{

設置$ flag 0;

if($ request _ uri ~ * " admin . JSP | config . JSP "){

設置$ flag " $ { flag } 1 ";

}

if ($http_x_forwarded_for!~ ^(192.168.3.100|123.123.123.123|222.222.222.222)) {

設置$ flag“$ { flag } 2”;

}

if ( $flag = "012" ){

返回403;

}

proxy _ pass xxxxxxxxxxxxxxxxx

proxy _ set _ header xxxxxxxxxxxxxxxxxx;

.......................

}

本來我以為如果是真的,flag=flag+1,但是隨便寫了壹下發現不對,於是就改了這種大家熟悉的字符串拼接方式,殊途同歸;

初始標誌是1。如果訪問指定的網址,就會變成01。如果妳訪問的網址不是我們白名單允許的IP,標誌就會變成012。最後,判斷旗幟,過時拒訪。

寫在最後:

如有錯誤,請評論並告知。請原諒我。

使用Nginx配置文件屏蔽指定請求的博客_馮··博客