You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by GitBox <gi...@apache.org> on 2022/01/20 02:58:27 UTC
[GitHub] [apisix-docker] leslie-tsang commented on issue #267: bug: failed to use etcd service name as etcd endpoint
leslie-tsang commented on issue #267:
URL: https://github.com/apache/apisix-docker/issues/267#issuecomment-1017070894
> > seems like the `resty-etcd` use a regular to check the etcd url, and the rule will reject the char `-`
> > https://github.com/api7/lua-resty-etcd/blob/f75f4c551b048e00233df38ab725b46218b35de9/lib/resty/etcd/v3.lua#L240
> > ```lua
> > for _, host in ipairs(http_hosts) do
> > local m, err = re_match(host,
> > [=[([^\/]+):\/\/([\da-zA-Z.-]+|\[[\da-fA-F:]+\]):?(\d+)?$]=], "jo")
> > if not m then
> > return nil, "invalid http host: " .. host .. ", err: " .. (err or "not matched")
> > end
> > ```
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > maybe try with `mf-etcd` instead
>
> Oh, yes, and actually `_` is not a valid char in the domain.
Cool, After reading of [RFC1123](https://www.ietf.org/rfc/rfc1123.html#section-2) and [RFC952](https://www.ietf.org/rfc/rfc952.html), I'm wondering if we should use it as a `DNS domain` or `Host` ?
> RFC-1123
```html
The DNS itself places only one restriction on the particular labels
that can be used to identify resource records. That one restriction
relates to the length of the label and the full name. The length of
any one label is limited to between 1 and 63 octets. A full domain
name is limited to 255 octets (including the separators). The zero
length full name is defined as representing the root of the DNS tree,
and is typically written and displayed as ".". Those restrictions
aside, any binary string whatever can be used as the label of any
resource record. Similarly, any binary string can serve as the value
of any record that includes a domain name as some or all of its value
(SOA, NS, MX, PTR, CNAME, and any others that may be added).
Implementations of the DNS protocols must not place any restrictions
on the labels that can be used. In particular, DNS servers must not
refuse to serve a zone because it contains labels that might not be
acceptable to some DNS client programs. A DNS server may be
configurable to issue warnings when loading, or even to refuse to
load, a primary zone containing labels that might be considered
questionable, however this should not happen by default.
```
> RFC-952 define
```html
B. Lexical grammar
<entry-field> ::= <entry-text> [<cr><lf> <blank> <entry-field>]
<entry-text> ::= <print-char> *<text>
<blank> ::= <space-or-tab> [<blank>]
<keyword> ::= NET | GATEWAY | HOST | DOMAIN
<hname> ::= <name>*["."<name>]
<name> ::= <let>[*[<let-or-digit-or-hyphen>]<let-or-digit>]
```
If we use it as an hostname, we should avoid `_` in the config.
--
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: notifications-unsubscribe@apisix.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org