PostRestURL Without Split DNS
Symptoms
A zmmailbox postRestURL command fails with an UnknownHostException.
zmmailbox -z -m user@domain.com postRestURL "inbox?fmt=zip×tamp=0&subfolder=/test" /tmp/sentmail.zip ERROR: zclient.IO_ERROR (webmail.domain.com) (cause: java.net.UnknownHostException webmail.domain.com)
Cause
This issue usually occurs when the mailbox server is running in "reverse-proxied" mode and the configured value of the domain's public service hostname and port are unreachable by the server. This condition is normally caused when the architecture is configured without split DNS and/or the public service ports are blocked preventing access by the mailbox server.
zmprov -l gs `zmhostname` zimbraMailReferMode zimbraMailReferMode: reverse-proxied zmprov -l gd domain.com zimbraPublicServiceHostname zimbraPublicServicePort zimbraPublicServiceProtocol zimbraPublicServiceHostname:webmail.domain.com zimbraPublicServicePort: 443 zimbraPublicServiceProtocol: https
In the example, the error returned is java.net.UnknownHostException webmail.domain.com meaning the mailbox server is unable to resolve the public service hostname in DNS.
Solution
Add an entry in the /etc/hosts file on the mailbox server for the public service hostname that points directly to a valid reverse proxy server or the load balanced IP address (VIP) for the proxy server. If more than one proxy server is in use without a VIP, just point the public service hostname to any production proxy server and make sure TCP connectivity to the public service port is successful.