thor533 commented on issue #9239:
URL: https://github.com/apache/apisix/issues/9239#issuecomment-1508087659

   > > > > > > > 
   > > > > > > 
   > > > > > > 
   > > > > > > Is this an apisix bug or a configuration problem?
   > > > > > 
   > > > > > 
   > > > > > maybe this is a feature.
   > > > > > Because the core logic of the two plug-ins works in different 
phase of nginx's http request processing, while ip_restriction is in the 
`access` phase, and basic-auth is in the`rewrite` phase.
   > > > > > The rewrite phase is processed before the access phase.
   > > > > > We plan to remove ambiguity about priorities by updating the 
documentation.
   > > > > 
   > > > > 
   > > > > Okey, i think the ip-restriction should excute first,it should have 
the highest priority! thank you reply !
   > > > 
   > > > 
   > > > yep, we will think twice for how to remove ambiguity
   > > 
   > > 
   > > My final question is, is there a way to get ip-restriction to execute 
first, do you need a custom plugin or something, i am looking forward to your 
reply !
   > 
   > only for poc
   > 
   > ```
   > ubuntu@ip-172-31-36-124:~/apisix$ git diff
   > diff --git a/apisix/plugins/ip-restriction.lua 
b/apisix/plugins/ip-restriction.lua
   > index b499f2dd..9c40bfdd 100644
   > --- a/apisix/plugins/ip-restriction.lua
   > +++ b/apisix/plugins/ip-restriction.lua
   > @@ -20,7 +20,7 @@ local base = 
require("apisix.plugins.ip-restriction.init")
   > 
   >  -- avoid unexpected data sharing
   >  local ip_restriction = core.table.clone(base)
   > -ip_restriction.access = base.restrict
   > +ip_restriction.rewrite = base.restrict
   > ```
   > 
   > ```
   > ubuntu@ip-172-31-36-124:~/apisix$ curl 
http://127.0.0.1:9180/apisix/admin/routes/1 -H 'X-API-KEY: 
edd1c9f034335f136f87ad84b625c8f1' -X PUT -d @../meta-router.json
   > 
{"key":"/apisix/routes/1","value":{"id":"1","name":"检查测试","upstream":{"type":"roundrobin","hash_on":"vars","pass_host":"pass","nodes":[{"weight":1,"port":80,"host":"httpbin.org","priority":0}],"scheme":"http"},"methods":["GET"],"create_time":1681438174,"plugins":{"ip-restriction":{"blacklist":["127.0.0.1"],"_meta":{"priority":99999},"message":"Your
 IP address is not 
allowed"},"basic-auth":{"username":"foo","hide_credentials":false,"password":"bar"}},"priority":1,"uri":"/xubin/","status":1,"update_time":1681455913}}
   > ubuntu@ip-172-31-36-124:~/apisix$ curl http://localhost:9080/xubin/ -i 
--interface 127.0.0.1
   > HTTP/1.1 403 Forbidden
   > Date: Fri, 14 Apr 2023 07:05:15 GMT
   > Content-Type: text/plain; charset=utf-8
   > Transfer-Encoding: chunked
   > Connection: keep-alive
   > Server: APISIX/3.2.0
   > 
   > {"message":"Your IP address is not allowed"}
   > ```
   
   okey,best wish,thanks!
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to