my arduino web server cant be accessed by mobile network connection

Hello guys i hope you can help me on this.

i made an arduino powered web server that is able to control 2 relays from internet but im dealing with a problem that i cannot understand why its happening.

i've done the port forwarding on my router and allowed tcp incoming-outgoing connections on port 80 on my firewall and while i am able to access the web page served by the arduino and enable the relays both from my home network and from a computer on on another network through internet, i cannot by all means access the webpage if i use my phone with my operator's mobile data plan connection!

if i connect my phone with wifi, (either my wifi or my neigbours wifi wich it is totally seperated with mine) it does load the page and controls the arduino, still if i use the mobile data plan it wont access the arduino server through the ddns domain

something else that i tried is to access my routers administration page through the dynamic dns page on my mobile connection and it does work. :~

to sum it up.
access arduino on local ip from my computer works
access arduino from dynamic dns domain from my computer through internet works
access arduino from dynamic dns domain from another computer not in my lan works.
access arduino from dynamic dns domain from my phone through my wifi internet works
access arduino from dynamic dns domain from my phone through my neighbors router works
access arduino from dynamic dns domain from my phone through mobile data plan doesnt work
access my router's remote administration secure page from dynamic dns website from my phone through mobile data plan works! :~

my routers remote admin page (through internet) and the arduino web page is on the same address with the differnce that
in order to access the router's admin page you have to enter https:// before the web address.
if you type http:// you will reach arduino instead of the router.
so
(pls dont click the links i just made them up, dont have a clue where the lead)
https://xxxx.domain.xxx leads to router administration page
http://xxxx.domain.xxx leads to arduino web server.

the first address on mobile data plan works and the second doesnt....

any idea why?

Https uses a different port to http

Https is on 443.

Http is on 80

Im not sure why phone you have, but see if you can find an app that runs trace route to see where the packets are stopping

Also try running a web server on your PC e.g wamp and access it from outside your LAN, ie like you are trying to do with the arduino

What kind of error do you get?

Run tracert app (there are multiple apps on phone) and see if it turns up anything.

Also, try using the IP address, instead of the DNS name; I've seen some ISPs refuse to resolve certain DNS addresses.

Unfortunately, I have a bad feeling that this is typical telco operator bullshit, which you have little recourse for. For a while, I couldn't access a website I used every day - I got a 401 Gone error message from a server owned by AT&T, instead of reaching the site. Nobody at AT&T I was able to talk to even knew what I was talking about, naturally.

hello there, i have an android phone.
i tried to track the hops with tracert but cant really tell for sure whats going on judging by the results of the tracert command because most of the time the trace stops after 5 hops. last hop is at an ip of my adsl provider in the capital city of me country.
BUT some times it can go up to 10+ hops and again stops somewhere in the capital of my country.
im trying it about 15 minutes and couldnt reach my router with the tracert command. (also the ping timing during each hop seems to go from 147ms up tou 400+ms)
While if i do a ping instead i usually get about 5 to 8 packets delivered on 10 that im sending. each ping package delivered has a ping time of 90-350ms (again doesnt make sence since every hop with the tracert was at least 147ms and usually after 5*147ms the tracert stopped and i couldnt reach destination.)
since i did all those pings and tracert's over my data plan mobile connection the address i used for pinging was my ddns address. i i didnd used the https:// in front of the address so the packages should end up to the arduino.

now if i ping my ddns address from my phone when im connected on my wifi i get 10 out of 10 pings with ping times of 1500ms to 3000ms
and if i tracert my ddns adress with my phone on the wifi im getting only 1 hop at my routert at 2ms and thats it

i think i just confused my self even more with all that odd pings/traceroutes but

furthermore i did another observation.
i opened the serial monitor of the sdk and i tried to access the page again through my data plan.
what i found was that the arduino almost instantly was receiving the http requests from my phone or the buttons i pressed (when the web page was showed from my phones cache) but after that the connection on the phone was reset and the phone was unable to load the page.
so what i get from this is that the packages does go from my phone to arduino but fail to get from the arduino to my phone right?
now why this may be happening?

DrAzzy:
What kind of error do you get?

Run tracert app (there are multiple apps on phone) and see if it turns up anything.

Also, try using the IP address, instead of the DNS name; I've seen some ISPs refuse to resolve certain DNS addresses.

Unfortunately, I have a bad feeling that this is typical telco operator bullshit, which you have little recourse for. For a while, I couldn't access a website I used every day - I got a 401 Gone error message from a server owned by AT&T, instead of reaching the site. Nobody at AT&T I was able to talk to even knew what I was talking about, naturally.

usually the page starts loading and either it never stops loading or it sais the connection to the server was reset while the page was loading.
i also tried accessing the page with my external ip and wow it really did some difference.
when i use the ddns address i get almost 80% failed attempts
if i used the external ip adress i get about 40% failed attempts.
still not even close to what it should be but ir really did helped a lot

that's normal
give me a traceroot from your data serves
from your pc, you can't do that from your phone
so share your data serves to your phone
and gives me traceroot from dos or any other sites
and gives me the result
maybe a firewall, blocked your remote access :wink: from SPI

"traceroot to any website or server" not for your arduino
any website hosts out of your country

narzan:
that's normal
give me a traceroot from your data serves
from your pc, you can't do that from your phone
so share your data serves to your phone
and gives me traceroot from dos or any other sites
and gives me the result
maybe a firewall, blocked your remote access :wink: from SPI

"traceroot to any website or server" not for your arduino
any website hosts out of your country

im sorry i didnt understand what you want me to do.
what to you mean by give me a traceroot from your data serves ?
or by
so share your data serves to your phone
and by
traceroot to any website or server" not for your arduino
any website hosts out of your country

do you want me to tracert from my computer to any site outside of my country and then tracert from another computer to my arduino and compare those two traces?

sorry i used that command alot "root" on linux XD i mean traceroute
make your mobile work like hotspot :astonished: !! that's easy
share the internet from your mobile to your pc
open this website
traceroute.monitis.com
make traceroute for your arduino "that's more hard for me but easy for you"
give me the result
then disconnect your mobile "turn off the hotspot"
and use your home internet
make traceroute and gives me the result
this will helping you to know who blocked your remote access
internet provider always have different ways and cables than mobile operator
if they use servers out of your country that's will be a problem to make remote access
allot of switches routers and servers between you and your arduino, that's mean allot of firewalls layers

ok i've done what you asked me to do.
here are the results
first from adsl to dns

against mobile data plan to dns

then adsl cmd tracert to dns and to external ip address (its the same, either if you trace external ip or ddns it just stops at my router)

against mobile dataplan cmd tracert to ddns

and mobile dataplan cmd tracert to external ip address

lastly adsl to external ip

against mobile dataplan to external ip address

thats all.

Though i think we are searching to the wrong way.
we are trying to track the packages when we do know that if i use the https://xxx.ddns.info from my mobile conncection it always works.
i mean the packages always get delivered and it is a matter of protocol https or http that makes it work or not!
so could there may be an error on the html code of the arduino?
or maybe is it possible that the packages from arduino to mobile web browser gets blocked somewhere between my router or firewall?

let me remind you that when i monitored the serial monitor from the sdk, besides my connection was always getting timed out and the page couldnt load, the arduino almost always was getting the http requests and furthermore, if the phone was showing me a cached version of the page that arduino served, when i pressed the buttons, arduino was indeed working as it should, the only problem was that in my phone the connection was getting timed out every time after i pressed a button.

what i mean is that from what i have seen, the packages almost always gets delivered, and if i use https:// im always getting to my routers web admin so it must not be an ddns problem or a connection timing out during the hops.
it must be something else, something must blocking the packages from arduino to mobile web connection.
or else why the https:// always works correclty?

you totally miss understood me
i am here not for coding or checking your arduino, just i am work in networking, and trobleshooting,

first how is that possible 2 difrent line with same ping !!!!!!!!!!!!!!!!!!
you uploud pic twice

ok forget it
from what i understand from you, you can enter that page from your frind mobile on his data plan !
if that is right he have a difrent provider for sure
i am sure about a firewall blocked your access

i will tell you an example
i have a server in my home, when i try to access it from outside from any internet provider everything work
when i try to connect it from my mobile on my data plane not work
the same thing here, my mobile operator used a firewall in a diffrent country, so there is no way to connect to my server in easy way
the only way i used it's a SSH and shell commands to access it

i rocamanded to check DNS account "firewall" and security
disable all firewall check if that work, and disable ISP firewall and rules
check your timezone on your router

you can make access in tricky ways :wink:
make HTML page to control your arduino or what ever you want to show, host it on your pc, or your router if you have DD-WRT
in this way it's not important what firewall you have, you can access it without any problems
that's all what i have
good luck