nginx

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > nginx > Nginx IP限制与路径访问

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

作者:Java小白白同学

在某些应用场景下,特定路径需要免登录访问,本文主要介绍了Nginx IP限制与路径访问控制配置,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧

1. 简介

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

2. 场景描述

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

3. Nginx 配置

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

3.1 基本路径配置

以下是初始的路径配置,路径别名指向 $base_dir/demo,并且指定了默认的索引文件。

location /demo {
    alias $base_dir/demo ;
    index index.html index.htm;
    try_files $uri $uri/ /demo /index.html;
}

3.2 添加 IP 限制

为了限制只有特定的 IP 地址能够访问 /demo ,我们在路径配置中添加 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,可以添加多个 allow 行
    allow 192.168.1.101;  # 示例:再添加一个允许的IP

    deny all;  # 拒绝所有其他IP

    # 返回 401 Unauthorized
    error_page 403 401 = @error401;
}

3.3 自定义 401 错误页面

在 Nginx 中,默认的 403 Forbidden 和 401 Unauthorized 错误页面可以通过 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,可以添加多个 allow 行
    allow 192.168.1.101;  # 示例:再添加一个允许的IP

    deny all;  # 拒绝所有其他IP

    # 返回 401 Unauthorized
    error_page 403 401 = @error401;
}

location @error401 {
    return 401;
}

4. 配置说明

5. 验证配置

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

6. 结论

通过在 Nginx 配置文件中使用 allow 和 deny 指令,可以有效地限制特定路径的访问权限。只有指定的 IP 地址可以访问该路径,而其他 IP 地址将收到 401 Unauthorized 的响应。

这不仅提升了安全性,还确保了资源的合理使用。如果在配置过程中遇到任何问题,请参阅 Nginx 官方文档或联系技术支持。

到此这篇关于Nginx IP限制与路径访问控制配置的文章就介绍到这了,更多相关Nginx IP限制与路径访问内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文