Nginx IP限制與路徑訪問(wèn)控制配置
1. 簡(jiǎn)介
在某些應(yīng)用場(chǎng)景下,特定路徑需要免登錄訪問(wèn),但為了安全考慮,限制只有指定的 IP 地址才能訪問(wèn)該路徑。本文檔描述了如何在 Nginx 中配置 IP 限制,并在未授權(quán)訪問(wèn)時(shí)返回 401 Unauthorized
錯(cuò)誤。
2. 場(chǎng)景描述
在集成項(xiàng)目中,有一個(gè)路徑 /demo
,要求免登錄訪問(wèn),但需要通過(guò) IP 限制來(lái)控制訪問(wèn)權(quán)限。只有指定的 IP 地址可以訪問(wèn)該路徑,其它 IP 地址訪問(wèn)時(shí)返回 401 Unauthorized
。
3. Nginx 配置
為實(shí)現(xiàn)上述功能,我們將修改 Nginx 的配置文件,具體步驟如下:
3.1 基本路徑配置
以下是初始的路徑配置,路徑別名指向 $base_dir/demo
,并且指定了默認(rèn)的索引文件。
location /demo { alias $base_dir/demo ; index index.html index.htm; try_files $uri $uri/ /demo /index.html; }
3.2 添加 IP 限制
為了限制只有特定的 IP 地址能夠訪問(wèn) /demo
,我們?cè)诼窂脚渲弥刑砑?nbsp;allow
和 deny
指令。
location /demo { alias $base_dir/demo ; index index.html index.htm; try_files $uri $uri/ /demo /index.html; # IP 限制 allow 192.168.1.100; # 允許訪問(wèn)的IP,可以添加多個(gè) allow 行 allow 192.168.1.101; # 示例:再添加一個(gè)允許的IP deny all; # 拒絕所有其他IP # 返回 401 Unauthorized error_page 403 401 = @error401; }
3.3 自定義 401 錯(cuò)誤頁(yè)面
在 Nginx 中,默認(rèn)的 403 Forbidden
和 401 Unauthorized
錯(cuò)誤頁(yè)面可以通過(guò) error_page
指令重定向到自定義位置。
location @error401 { return 401; }
3.4 完整配置示例
以下是添加了 IP 限制并返回 401 Unauthorized
的完整 Nginx 配置示例。
location /demo { alias $base_dir/demo ; index index.html index.htm; try_files $uri $uri/ /demo /index.html; # IP 限制部分 allow 192.168.1.100; # 允許訪問(wèn)的IP,可以添加多個(gè) allow 行 allow 192.168.1.101; # 示例:再添加一個(gè)允許的IP deny all; # 拒絕所有其他IP # 返回 401 Unauthorized error_page 403 401 = @error401; } location @error401 { return 401; }
4. 配置說(shuō)明
allow 192.168.1.100;
:只允許指定的 IP 地址192.168.1.100
訪問(wèn)路徑/demo
。deny all;
:拒絕所有未在allow
中指定的 IP 地址。error_page 403 401 = @error401;
:將403 Forbidden
和401 Unauthorized
錯(cuò)誤頁(yè)面重定向到自定義位置@error401
。location @error401
:定義了一個(gè)內(nèi)部位置,當(dāng)發(fā)生錯(cuò)誤時(shí),返回401 Unauthorized
。
5. 驗(yàn)證配置
完成配置修改后,請(qǐng)通過(guò)以下步驟驗(yàn)證配置的正確性:
- 語(yǔ)法檢查:使用
nginx -t
命令檢查 Nginx 配置語(yǔ)法是否正確。 - 重載配置:在語(yǔ)法檢查通過(guò)后,使用
nginx -s reload
重載 Nginx 配置。 - 訪問(wèn)測(cè)試:使用允許的 IP 地址和不允許的 IP 地址訪問(wèn)
/jjldanketv
,驗(yàn)證配置是否生效。
6. 結(jié)論
通過(guò)在 Nginx 配置文件中使用 allow
和 deny
指令,可以有效地限制特定路徑的訪問(wèn)權(quán)限。只有指定的 IP 地址可以訪問(wèn)該路徑,而其他 IP 地址將收到 401 Unauthorized
的響應(yīng)。
這不僅提升了安全性,還確保了資源的合理使用。如果在配置過(guò)程中遇到任何問(wèn)題,請(qǐng)參閱 Nginx 官方文檔或聯(lián)系技術(shù)支持。
到此這篇關(guān)于Nginx IP限制與路徑訪問(wèn)控制配置的文章就介紹到這了,更多相關(guān)Nginx IP限制與路徑訪問(wèn)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Nginx中default_server指令問(wèn)題詳解
nginx 的 default_server 指令可以定義默認(rèn)的 server 出處理一些沒(méi)有成功匹配 server_name 的請(qǐng)求,下面這篇文章主要給大家介紹了關(guān)于Nginx中default_server指令問(wèn)題的相關(guān)資料,需要的朋友可以參考下2022-12-12nginx配置proxy_pass中url末尾帶/與不帶/的區(qū)別詳解
這篇文章主要介紹了nginx配置proxy_pass中url末尾帶/與不帶/的區(qū)別詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11Nginx反向代理在Web應(yīng)用中的實(shí)戰(zhàn)分享
本文將介紹Nginx反向代理的基本原理和配置,以及如何利用Nginx實(shí)現(xiàn)高可用性和故障轉(zhuǎn)移,最后,我們將探討如何監(jiān)控Nginx反向代理的性能并進(jìn)行日志分析,需要的朋友可以參考下2024-08-08nginx從編譯安裝到配置文件說(shuō)明中文詳細(xì)介紹
Nginx配置文件主要分成四部分:main(全局設(shè)置)、server(主機(jī)設(shè)置)、upstream(上游服務(wù)器設(shè)置,主要為反向代理、負(fù)載均衡相關(guān)配置)和 location(URL匹配特定位置后的設(shè)置)2018-10-10nginx控制連接數(shù)及訪問(wèn)速率的實(shí)現(xiàn)
本文主要介紹了Nginx中ngx_http_limit_conn_module和ngx_http_limit_req_module模塊的使用,用于控制連接數(shù)和請(qǐng)求速率,具有一定的參考價(jià)值,感興趣的可以了解一下2024-12-12nginx服務(wù)器中access_log日志分析與配置詳解
通過(guò)訪問(wèn)日志,可以知曉用戶的地址,網(wǎng)站的哪些部分最受歡迎,用戶的瀏覽時(shí)間,對(duì)大多數(shù)用戶用的的瀏覽器做出針對(duì)性優(yōu)化。下面這篇文章主要給大家介紹了關(guān)于nginx服務(wù)器中access_log日志分析與配置的相關(guān)資料,需要的朋友可以參考下。2017-12-12Nginx 出現(xiàn) 403 Forbidden 最終解決方法
這篇文章給大家介紹了Nginx 出現(xiàn) 403 Forbidden 最終解決方法,下面分步驟給大家介紹的非常詳細(xì),感興趣的的朋友一起看看吧2017-08-08