Your router (NAT gateway) is probably not doing Hairpin NAT correctly. Hairpin NAT is when the NAT must do both outbound and inbound NAT on the same packet. It's needed in your case because your WebDAV client is trying to connect to the external IP address of your NAT. So your NAT has to do outbound NAT on the packet to send it to that public IP address. But then it realizes that the public IP address is its own address, and it has a port forwarding entry for how to forward connection attempts to port 80 (or 443 or whatever), so it has to do inbound NAT on the same packet in order to properly forward it to your WebDAV server.
Some home gateways that do Hairpin NAT correctly on most ports will choke on port 80 because they have their web-based administration UI running on that port. Sometimes you can get them to stop choking by either disabling web-based administration on the WAN interface, or by moving the web-based UI to a different port if it lets you configure that. But some don't let you change the port, and still choke even if you don't have web-based administration enabled on the WAN port.
Here are some other things to try:
- Look in your NAT gateway's UI or online help for a way to turn on Hairpin NAT if it's not on by default. If you rolled your own NAT gateway with, say, iptables on Linux, look online for tips on adding Hairpin NAT rules to your iptables config.
- Make sure you're on the latest firmware for your make/model/hardware-revision of your home gateway box, in case Hairpin NAT is something they've recently fixed.
- If none of the above work, consider either buying a better home gateway, or loading an aftermarket firmware distro such as DD-WRT onto your box.
I'm guessing you're not using an AirPort base station (Extreme/Express/Time Capsule) as your home gateway. In my experience, Apple consistently gets Hairpin NAT right on all of their gateways.
If your cable or DSL modem box is the same box that's acting as your NAT gateway, and you have access to an AirPort base station, consider disabling your modem box's NAT and DHCP server features making it just a transparent bridge. Then plug the WAN port of your AirPort Base Station into the LAN port of your modem box, and configure your AirPort base station to do NAT. You could do this with almost any Wi-Fi router, but I can't vouch for any others as to whether they do Hairpin NAT correctly.