A. nginx怎麼設置指定目錄ip訪問限制
nginx中針對目錄進行IP限制 ,這里以phpmyadmin目錄只能讓內網IP訪問,而外網不能訪問的配置方法。
nginxphpmyadmin針對內網ip用戶開放、外網ip用戶關閉(在前面的配置中,location ~ ^/目錄/使用正則, 優先順序高於location /的配置,所以nginx無法對首頁進行解析)
代碼如下:
server{
listen80;
server_nameexample.com;
access_loglogs/access.logmain;
location/{
roothtml;
indexindex.phpindex.htmlindex.htm;
}
location~^/phpmyadmin/{
allow192.168.1.0/24;
denyall;
location~.*.(php|php5)?${
root/var/mailapp/nginx/html;
fastcgi_pass127.0.0.1:9000;
fastcgi_indexindex.php;
includefastcgi_params;
}
}
location~.*.(php|php5)?${
root/opt/nginx/html;
fastcgi_pass127.0.0.1:9000;
fastcgi_indexindex.php;
includefastcgi_params;
}
}
B. nginx 配置限制源地址訪問
F5要設置一下,把真實的IP地址透傳給後端,不然的話,後端的設備獲取的是內網地址。
查了一下F5設置透傳的功能,不知道在是否有效,你可以驗證一下。
具體步驟
1:Local Traffic-Profiles-Http-改「Insert XForwarded For」為Enable
2:Local Traffic-Virtual servers-點擊需要改動的VS-將Type選項更改為Standard-將HTTP Profile 選項更改為Http
C. nginx怎麼禁止指定網站來源的用戶訪問
樓上說的確實是使用if和$http_referer進行判斷,但是說的不夠詳細。
舉個例子,你不想讓來自site.ru的流量訪問的話,nginx規則可以這么寫
if ($http_referer ~* "http://site.ru") {
return 444;
}
將其添加到HTTP段落或者SERVER段落都行。
當然這里還有詳細的教程你可以看一下:網頁鏈接
設置完之後別忘了 nginx -s reload 重載入配置文件,否則不生效。