brianzhangrong opened a new issue #5373:
URL: https://github.com/apache/apisix/issues/5373


   ### Issue description
   
   if password contains "@" nacos discovery happens error cause it use first 
"@" index
   `local function get_base_uri()
       local host = local_conf.discovery.nacos.host
       -- TODO Add health check to get healthy nodes.
       local url = host[math_random(#host)]
       local auth_idx = str_find(url, '@')
       local username, password
       if auth_idx then
           local protocol_idx = str_find(url, '://')
           local protocol = string_sub(url, 1, protocol_idx + 2)
           local user_and_password = string_sub(url, protocol_idx + 3, auth_idx 
- 1)
           local arr = ngx_re.split(user_and_password, ':')
           if #arr == 2 then
               username = arr[1]
               password = arr[2]
           end
           local other = string_sub(url, auth_idx + 1)
           url = protocol .. other
       end`
   2.config.yaml
   discovery:
     nacos:
       host:
         - "http://username:password@[email protected]:8848";
   
   
   
       local auth_idx = str_find(url, '@')   use first "@" position,but  
password contains "@"
   
   ### Environment
   
   - apisix version (cmd: `apisix version`):
   - OS (cmd: `uname -a`):
   - OpenResty / Nginx version (cmd: `nginx -V` or `openresty -V`):
   - etcd version, if have (cmd: run `curl 
http://127.0.0.1:9090/v1/server_info` to get the info from server-info API):
   - apisix-dashboard version, if have:
   - the plugin runner version, if the issue is about a plugin runner (cmd: 
depended on the kind of runner):
   - luarocks version, if the issue is about installation (cmd: `luarocks 
--version`):
   
   
   ### Steps to reproduce
   
   1.use nacos discovery with password
   2.password contains "@"
   
   ### Actual result
   
   500 response code
   
   ### Error log
   
   2021/10/30 08:42:48 [error] 13164#0: *49257637 [lua] resolver.lua:35: 
parse_domain(): failed to parse domain: 
   
   ### Expected result
   
   _No response_


-- 
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