Nginx IP限制與路徑訪問控制配置
1. 簡(jiǎn)介
在某些應(yīng)用場(chǎng)景下,特定路徑需要免登錄訪問,但為了安全考慮,限制只有指定的 IP 地址才能訪問該路徑。本文檔描述了如何在 Nginx 中配置 IP 限制,并在未授權(quán)訪問時(shí)返回 401 Unauthorized 錯(cuò)誤。
2. 場(chǎng)景描述
在集成項(xiàng)目中,有一個(gè)路徑 /demo,要求免登錄訪問,但需要通過 IP 限制來控制訪問權(quán)限。只有指定的 IP 地址可以訪問該路徑,其它 IP 地址訪問時(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 地址能夠訪問 /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; # 允許訪問的IP,可以添加多個(gè) allow 行
allow 192.168.1.101; # 示例:再添加一個(gè)允許的IP
deny all; # 拒絕所有其他IP
# 返回 401 Unauthorized
error_page 403 401 = @error401;
}
3.3 自定義 401 錯(cuò)誤頁面
在 Nginx 中,默認(rèn)的 403 Forbidden 和 401 Unauthorized 錯(cuò)誤頁面可以通過 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; # 允許訪問的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. 配置說明
allow 192.168.1.100;:只允許指定的 IP 地址192.168.1.100訪問路徑/demo。deny all;:拒絕所有未在allow中指定的 IP 地址。error_page 403 401 = @error401;:將403 Forbidden和401 Unauthorized錯(cuò)誤頁面重定向到自定義位置@error401。location @error401:定義了一個(gè)內(nèi)部位置,當(dāng)發(fā)生錯(cuò)誤時(shí),返回401 Unauthorized。
5. 驗(yàn)證配置
完成配置修改后,請(qǐng)通過以下步驟驗(yàn)證配置的正確性:
- 語法檢查:使用
nginx -t命令檢查 Nginx 配置語法是否正確。 - 重載配置:在語法檢查通過后,使用
nginx -s reload重載 Nginx 配置。 - 訪問測(cè)試:使用允許的 IP 地址和不允許的 IP 地址訪問
/jjldanketv,驗(yàn)證配置是否生效。
6. 結(jié)論
通過在 Nginx 配置文件中使用 allow 和 deny 指令,可以有效地限制特定路徑的訪問權(quán)限。只有指定的 IP 地址可以訪問該路徑,而其他 IP 地址將收到 401 Unauthorized 的響應(yīng)。
這不僅提升了安全性,還確保了資源的合理使用。如果在配置過程中遇到任何問題,請(qǐng)參閱 Nginx 官方文檔或聯(lián)系技術(shù)支持。
到此這篇關(guān)于Nginx IP限制與路徑訪問控制配置的文章就介紹到這了,更多相關(guān)Nginx IP限制與路徑訪問內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在Ubuntu上安裝Nginx的實(shí)現(xiàn)過程
本文詳細(xì)介紹了在Ubuntu系統(tǒng)中從源碼安裝Nginx的步驟,包括更新系統(tǒng)、安裝依賴、下載源碼、配置編譯選項(xiàng)、編譯安裝、創(chuàng)建專用用戶、配置Systemd服務(wù)、調(diào)整防火墻、驗(yàn)證安裝、管理和維護(hù)Nginx等內(nèi)容2026-04-04
Nginx 訪問 /root/下 403 Forbidden問題解決
在使用Nginx作為Web服務(wù)器時(shí),可能會(huì)遇到403 Forbidden錯(cuò)誤,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-05-05
基于Nginx實(shí)現(xiàn)限制某IP短時(shí)間訪問次數(shù)
這篇文章主要介紹了基于Nginx實(shí)現(xiàn)限制某IP短時(shí)間訪問次數(shù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-12-12
Nginx列出目錄和文件并用密碼控制訪問權(quán)限配置方法
這篇文章主要介紹了Nginx列出目錄和文件并用密碼控制訪問權(quán)限配置方法,本文給出了詳細(xì)的安裝配置步驟,需要的朋友可以參考下2015-07-07
解決systemctl reload nginx重啟Nginx服務(wù)報(bào)錯(cuò):Job for&n
文章描述了通過`systemctl status nginx.service`發(fā)現(xiàn)Nginx服務(wù)未啟動(dòng),啟動(dòng)失敗的原因可能是端口號(hào)被占用,使用`netstat -ntlp | grep 80`命令找到了占用80端口的進(jìn)程(PID為7008),通過`kill 7008`停止了該進(jìn)程,然后重新啟動(dòng)Nginx2025-01-01
Nginx配置PHP的Yii與CakePHP框架的rewrite規(guī)則示例
這篇文章主要介紹了Nginx配置PHP的Yii與CakePHP框架的rewrite規(guī)則示例,是這兩款高人氣框架使用Nginx的關(guān)鍵配置點(diǎn),需要的朋友可以參考下2016-01-01

