Cannot Connect to local HTTP Servers - Synology

I have a network including multiple machines - PCs, Android, iOS, Mac devices and a Synology. My mac is running Catalina 10.15.4.

Everything connects to the Synology fine except the Mac over http or https.

I have connected Finder to the Synology shared drives using afp://<servername>.local.

All my other devices connect to any Synology hosted web sites fine using this address:

https://<servername>:port

Using this on the Mac just times out. However if I add the local suffix, or I use the IP address, it works:

https://<servername>.local:port
https://<ipaddress>:port

It pops up the self-signed cert warning (for the Synology cert) and then proceeds to the web site hosted on the Synology, such as GitLab or DSM Control Panel.

But seeing that I have all manner of scripts and repositories of code I can't just have one machine throwing such a curve ball into my configuration. It seems many people have had issues with Catalina networking from reading this thread on the Synology forums. The problems and solutions described there are primarily about Finder connections, which work fine for me.

From all my reading online it seems the solution everyone quotes is to add search domains.

So I added local as a search domain to my Wi-Fi adapters Preferences -> Network -> Wi-Fi -> Advanced -> DNS tab. Rebooted (several times now) and I still cannot get the Mac to browse to the sites. I've also tried .local.

Nothing seems to work.

I've also checked and confirmed that my mac is using the same DNS server as my PC and all that checks out fine too.

I've no active proxies. Also there is a *.local listed in the proxy bypass settings but that seems a reasonable setting. I've tried removing it and rebooting anyway but that didn't help.

nslookup servername

Server: 194.168.4.100
Address:194.168.4.100#53

Non-Authoritative answer:
Name: <servername>
Address: 92.242.132.24

dig servername

This seems to return a sensible response as it gets an answer from the server.

What other settings or configuration might help?


Solution 1:

Switch to another local domain, such as .lan, instead of the reserved .local. Bonjour/ZeroConf reserves the use of .local. If you are using DHCP, your server can handle this configuration.

Alternatively, hardcode the server's IP address in /etc/hosts with the line:

a.x.y.z      <servername>