zoomkat:
If every thing works on the lan, then I'd check the router port forwarding to make sure the incoming request is still being sent to the proper internal IP address.
Thanks, but the Serial.prints show the incoming external requests are coming through. And here's what is served to external requests:

Whereas this is served to internal requests:
That is, just the BMP image isn't getting served to external requests. Same with the legend page, which has a JPG...the text in the HTML file comes through ok to external requests, but the JPG doesn't.
Here's an example of the Serial.print output from an external request:
GET /graph.htm HTTP/1.1
Host: myDDNS:externalPort
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: myDDNS:externalPort
Upgrade-Insecure-Requests: 1
serving graph page
clnt stppd*
new clnt a.b.c.d
Thu Jan 1 00:00:00 1970
GET /graph.bmp HTTP/1.1
Host: myDDNS:externalPort
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0
Accept: image/webp,/
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: myDDNS:externalPort/graph.htm
serving graph.bmp
clnt stppd*
Here's an example of the Serial.print output from an internal request:
GET /graph.htm HTTP/1.1
Host: 192.168.1.xx
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
DNT: 1
Connection: keep-alive
Referer: http://192.168.1.xx/
Upgrade-Insecure-Requests: 1
serving graph page
clnt stppd*
new clnt 192.168.1.118
Thu Jan 1 00:00:00 1970
GET /graph.bmp HTTP/1.1
Host: 192.168.1.xx
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0
Accept: image/webp,/
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
DNT: 1
Connection: keep-alive
Referer: http://192.168.1.xx/graph.htm
serving graph.bmp
clnt stppd*
They're the same, except for the IP.
