翼度科技»论坛 云主机 服务器技术 查看内容

Nginx IP限制与路径访问控制配置

6

主题

6

帖子

18

积分

新手上路

Rank: 1

积分
18
1. 简介

在某些应用场景下,特定路径需要免登录访问,但为了安全考虑,限制只有指定的 IP 地址才能访问该路径。本文档描述了如何在 Nginx 中配置 IP 限制,并在未授权访问时返回
  1. 401 Unauthorized
复制代码
错误。

2. 场景描述

在集成项目中,有一个路径
  1. /demo
复制代码
,要求免登录访问,但需要通过 IP 限制来控制访问权限。只有指定的 IP 地址可以访问该路径,其它 IP 地址访问时返回
  1. 401 Unauthorized
复制代码


3. Nginx 配置

为实现上述功能,我们将修改 Nginx 的配置文件,具体步骤如下:

3.1 基本路径配置

以下是初始的路径配置,路径别名指向
  1. $base_dir/demo
复制代码
,并且指定了默认的索引文件。
  1. location /demo {
  2.     alias $base_dir/demo ;
  3.     index index.html index.htm;
  4.     try_files $uri $uri/ /demo /index.html;
  5. }
复制代码
3.2 添加 IP 限制

为了限制只有特定的 IP 地址能够访问
  1. /demo 
复制代码
,我们在路径配置中添加
  1. allow
复制代码
  1. deny
复制代码
指令。
  1. 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,可以添加多个 allow 行    allow 192.168.1.101;  # 示例:再添加一个允许的IP    deny all;  # 拒绝所有其他IP    # 返回 401 Unauthorized    error_page 403 401 = @error401;}
复制代码
3.3 自定义 401 错误页面

在 Nginx 中,默认的
  1. 403 Forbidden
复制代码
  1. 401 Unauthorized
复制代码
错误页面可以通过
  1. error_page
复制代码
指令重定向到自定义位置。
  1. location @error401 {
  2.     return 401;
  3. }
复制代码
3.4 完整配置示例

以下是添加了 IP 限制并返回
  1. 401 Unauthorized
复制代码
的完整 Nginx 配置示例。
  1. 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,可以添加多个 allow 行    allow 192.168.1.101;  # 示例:再添加一个允许的IP    deny all;  # 拒绝所有其他IP    # 返回 401 Unauthorized    error_page 403 401 = @error401;}location @error401 {
  2.     return 401;
  3. }
复制代码
4. 配置说明


    1. allow 192.168.1.100;
    复制代码
    :只允许指定的 IP 地址
    1. 192.168.1.100
    复制代码
    访问路径
    1. /demo 
    复制代码

    1. deny all;
    复制代码
    :拒绝所有未在
    1. allow
    复制代码
    中指定的 IP 地址。
    1. error_page 403 401 = @error401;
    复制代码
    :将
    1. 403 Forbidden
    复制代码
    1. 401 Unauthorized
    复制代码
    错误页面重定向到自定义位置
    1. @error401
    复制代码

    1. location @error401
    复制代码
    :定义了一个内部位置,当发生错误时,返回
    1. 401 Unauthorized
    复制代码


5. 验证配置

完成配置修改后,请通过以下步骤验证配置的正确性:

  • 语法检查:使用
    1. nginx -t
    复制代码
    命令检查 Nginx 配置语法是否正确。
  • 重载配置:在语法检查通过后,使用
    1. nginx -s reload
    复制代码
    重载 Nginx 配置。
  • 访问测试:使用允许的 IP 地址和不允许的 IP 地址访问
    1. /jjldanketv
    复制代码
    ,验证配置是否生效。

6. 结论

通过在 Nginx 配置文件中使用
  1. allow
复制代码
  1. deny
复制代码
指令,可以有效地限制特定路径的访问权限。只有指定的 IP 地址可以访问该路径,而其他 IP 地址将收到
  1. 401 Unauthorized
复制代码
的响应。
这不仅提升了安全性,还确保了资源的合理使用。如果在配置过程中遇到任何问题,请参阅 Nginx 官方文档或联系技术支持。
到此这篇关于Nginx IP限制与路径访问控制配置的文章就介绍到这了,更多相关Nginx IP限制与路径访问内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

来源:https://www.jb51.net/server/32671382f.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具