每周一坑 |
您所在的位置:网站首页 › ip地址未配置白名单或未生效 › 每周一坑 |
然后我领导观察正常日志有个clientip,问是谁的。我说是防火墙ip,这时我们就怀疑是这个防火墙导致怎么配都不行,因为我试过另一台经过阿里云waf的服务器,也是怎么设置都不行。 本来我们想叫防火墙的人帮针对某个目录设置ip白名单,怎么知道他们的产品特水,只能我们搞。于是我们换种思路,打算从xff入手,对应nginx内置变量:$http_x_forwarded_for,而不行的clientip对应nginx内置变量:$remote_addr。 因为有多个白名单ip,所以最终成品是这样(location里面的规则是一条条顺序匹配的,要注意不要第一条规则就匹配上,让它直接跳出来不执行后面的) location ^~ /windysai/admin { ### 白名单ip set $flag "9"; if ($http_x_forwarded_for ~ "白名单ip1|白名单ip2|白名单ip3") { set $flag "1"; } if ($flag ~ "9") { return 403; } proxy_pass https://服务ip:端口; }最后投诉下这个小可爱,乱说,也有可能人家写对了,它打不了竖线 “|”。本来多个ip我不会匹配的时候,写了n多个if语句,后来晚上看了视频才知道上面那样写。 以下这两个方法,大家感兴趣可以试下: 1、感觉跟上面的方法有点类似
2、借用Lua模块 引用小可爱的话: 对于复杂的IP地址匹配逻辑,最佳实践是使用Lua脚本。Lua脚本在Nginx中可以提供更高级的功能和灵活性。如果您希望实现IP白名单功能,并能够处理匹配多个IP地址,可以按照以下步骤配置, 在下面配置中,我们使用access_by_lua_block指令来嵌入Lua脚本。该脚本检查$http_x_forwarded_for头部的值是否匹配白名单中的任何IP地址。如果客户端IP不在白名单中,将返回403 Forbidden错误,否则将允许访问。 请确保您在配置文件中修改allowed_ips列表,添加允许访问的IP地址。这样,您就能够灵活地配置多个IP地址的白名单。记得重新加载或重启Nginx以使更改生效。 ![]() ![]()
|
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |