I have four host computers running lighttpd webservers. they are sitting behind a hspa modem, which each occupying a http port between [81 - 84]. 80 is taken by the modem itself.
The port forwarding is setup correctly, however, only a portion of any webpage I request from any of the hosts comes through (they all fails after %20 of the page).
If I put the host on port 81 into the dmz, it serves pages fine. The others do not respond to the dmz treatment.
Is it possible the web content on the hosts somehow require ports aside from their respective http port? Or is it possible that even though the server.port in the lighttpd_ssl.conf file is set, the individual hosts are still expecting to serve on port 80?
I am not familiar with lighttpd, nor did i set them up. they are running on video encoders i purchased. I can grab any files from them required for further information on the problem.
HSPA! Running web servers on cellular connections is one of those things that is not done (but you probably have a use case for it). If you must do it, increasing the timeouts may help, as HSPA tends to provide bursty data with high latency.
Connections which work initially and then hang can be caused by MTU/MSS issues. Try dropping the MTU on the servers (and client if possible) and checking if that helps. If it does then something (probably the modem) is not responding with ICMP fragmentation needed packets as it should.