Bug in adding new domain
- 
I'm getting Configuration error: Domain resolves to ["177.21.86.255"] instead of IPv4 177.21.86.255When adding a new domain via wildcard. Seems like a bug in converting JSON to the numeric value? @potemkin_ai in the log files, after I tried DNS reconfiguration: isChangeSynced: app.subdomain.mydomain.com (A) was resolved to 177.21.86.255 at NS ns3207.hexonet.net (177.21.86.255). Expecting 177.21.86.255. Match false Jun 17 19:48:12 box:dns/waitfordns waitForDns: app.subdomain.mydomain.com at ns ns3207.hexonet.net: not doneIP address & domain name are changed. v7.2.4 (Ubuntu 18.04.5 LTS) It looks like DNS is quite broken in this release? 
- 
@potemkin_ai in the log files, after I tried DNS reconfiguration: isChangeSynced: app.subdomain.mydomain.com (A) was resolved to 177.21.86.255 at NS ns3207.hexonet.net (177.21.86.255). Expecting 177.21.86.255. Match false Jun 17 19:48:12 box:dns/waitfordns waitForDns: app.subdomain.mydomain.com at ns ns3207.hexonet.net: not doneIP address & domain name are changed. v7.2.4 (Ubuntu 18.04.5 LTS) It looks like DNS is quite broken in this release? @potemkin_ai blocked here; app reconfiguration lead to an infinite Configuring - Waiting for DNS propagation
- 
 N nebulon marked this topic as a question on N nebulon marked this topic as a question on
- 
@nebulon , thanks for checking this thread, but it looks more like a bug to me, not a question, or am I missing something? 
- 
@nebulon , thanks for checking this thread, but it looks more like a bug to me, not a question, or am I missing something? @potemkin_ai said in Bug in adding new domain: it looks more like a bug to me, not a question, or am I missing something? I think they mark them as a question just so they get the 'unsolved' badge and as a way to keep track of issues that need solving (and so they can be marked as 'solved' once the problem has been sorted). 
- 
@potemkin_ai said in Bug in adding new domain: it looks more like a bug to me, not a question, or am I missing something? I think they mark them as a question just so they get the 'unsolved' badge and as a way to keep track of issues that need solving (and so they can be marked as 'solved' once the problem has been sorted). @jdaviescoates thank you, I hope so! 
- 
I'm getting Configuration error: Domain resolves to ["177.21.86.255"] instead of IPv4 177.21.86.255When adding a new domain via wildcard. Seems like a bug in converting JSON to the numeric value? @potemkin_ai I tried this now and it works fine for my test subdomain atleast.  Configuration error: Domain resolves to ["177.21.86.255"] instead of IPv4 177.21.86.255 Curiously, this log is actually saying that the setup is correct but somehow still fails. The first value is a json of length 1. 
- 
@nebulon , thanks for checking this thread, but it looks more like a bug to me, not a question, or am I missing something? 
- 
I feel I am missing something obvious here. The code in question is: const ipv4 = await sysinfo.getServerIPv4(); if (ipv4Result.length !== 1 || ipv4 !== ipv4Result[0]) throw new BoxError(BoxError.EXTERNAL_ERROR, `Domain resolves to ${JSON.stringify(ipv4Result)} instead of IPv4 ${ipv4}`);Per the logs atleast , 177.21.86.255is the server IP and the DNS resolved to[ "177.21.86.255" ]. Not seeing why the check fails....
- 
@potemkin_ai Can you please try host cloudrontestdns.yourdomain.com 127.0.0.1on your machine?@girish sure: host cloudrontestdns.tst.mydomain.com 127.0.0.1 Using domain server: Name: 127.0.0.1 Address: 127.0.0.1#53 Aliases: cloudrontestdns.tst.mydomain.com has address 177.21.86.255
- 
I feel I am missing something obvious here. The code in question is: const ipv4 = await sysinfo.getServerIPv4(); if (ipv4Result.length !== 1 || ipv4 !== ipv4Result[0]) throw new BoxError(BoxError.EXTERNAL_ERROR, `Domain resolves to ${JSON.stringify(ipv4Result)} instead of IPv4 ${ipv4}`);Per the logs atleast , 177.21.86.255is the server IP and the DNS resolved to[ "177.21.86.255" ]. Not seeing why the check fails....@girish I'm not very good in negative logic, as it's usually quite a resource intensive task for my brains, so I would just rewrite it to something more 'positive'  if (ipv4Result.length == 1 && ipv4 !== ipv4Result[0]) {do some logic}; else throw new BoxError(BoxError.EXTERNAL_ERROR, `Domain resolves to ${JSON.stringify(ipv4Result)} instead of IPv4 ${ipv4}`);But the error message confuses me as well, as it's says that two similar things are not similar; my only idea is some weird data conversion coming from a weak JS data typing? 
- 
@girish I'm not very good in negative logic, as it's usually quite a resource intensive task for my brains, so I would just rewrite it to something more 'positive'  if (ipv4Result.length == 1 && ipv4 !== ipv4Result[0]) {do some logic}; else throw new BoxError(BoxError.EXTERNAL_ERROR, `Domain resolves to ${JSON.stringify(ipv4Result)} instead of IPv4 ${ipv4}`);But the error message confuses me as well, as it's says that two similar things are not similar; my only idea is some weird data conversion coming from a weak JS data typing? @potemkin_ai Do you think you can send me your real domain name to support@cloudron.io ? Let me test with my local unbound as to what is happening. 
- 
@girish I'm not very good in negative logic, as it's usually quite a resource intensive task for my brains, so I would just rewrite it to something more 'positive'  if (ipv4Result.length == 1 && ipv4 !== ipv4Result[0]) {do some logic}; else throw new BoxError(BoxError.EXTERNAL_ERROR, `Domain resolves to ${JSON.stringify(ipv4Result)} instead of IPv4 ${ipv4}`);But the error message confuses me as well, as it's says that two similar things are not similar; my only idea is some weird data conversion coming from a weak JS data typing? @potemkin_ai is it possible that the ipv4Resultdelivers more than one result in your case? As @girish it might be helpful to expose your real domain in question to us by sending to support@cloudron.ioOr you can put some console.log()traces in that code section if you want to debug this on your own a bit.
- 
@potemkin_ai is it possible that the ipv4Resultdelivers more than one result in your case? As @girish it might be helpful to expose your real domain in question to us by sending to support@cloudron.ioOr you can put some console.log()traces in that code section if you want to debug this on your own a bit.
- 
@nebulon User contacted us on support but the error message on support is quite different from the one that is reported here. thank you, @girish , @nebulon , it was indeed an issue on my side - the problem was caused by an automatic IP address detection confusion and the numbers were quite close, so I didn't notice that, indeed. As a feature request, probably, it might make sense to add to the error message an offer to check an IP address auto-detection in Network settings, for the future-me-s? 
- 
thank you, @girish , @nebulon , it was indeed an issue on my side - the problem was caused by an automatic IP address detection confusion and the numbers were quite close, so I didn't notice that, indeed. As a feature request, probably, it might make sense to add to the error message an offer to check an IP address auto-detection in Network settings, for the future-me-s? @potemkin_ai I replied to you on support, I think what you want is https://docs.cloudron.io/networking/#ipv4 . The static or network interface configuration, if I understood your setup correctly. Whatever IP you provide here is what will be used to configure and test the DNS. 
- 
@potemkin_ai I replied to you on support, I think what you want is https://docs.cloudron.io/networking/#ipv4 . The static or network interface configuration, if I understood your setup correctly. Whatever IP you provide here is what will be used to configure and test the DNS. @girish I fixed the problem - indeed with static IP; what I'm saying, it's that it might be worth to mention a possible reason in the error message of the IPs mismatch, offering person to go and check if his IP address was auto-detected correctly. Does it makes sense? 
- 
@girish I fixed the problem - indeed with static IP; what I'm saying, it's that it might be worth to mention a possible reason in the error message of the IPs mismatch, offering person to go and check if his IP address was auto-detected correctly. Does it makes sense? 
- 
 G girish has marked this topic as solved on G girish has marked this topic as solved on
- 
@potemkin_ai Ah got it, I think it would have helped if it said "IP xxx in DNS does not match auto-detected IP yyy". I have created an internal task for that. @girish thank you! And thank you again for your prompt help! 
 

