Probably because of the reasons below:
1) Your web server config
For apache: allow from all
For tomcat:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
should be
<Host name="www.example.com" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
2) Your firewall settings (open port for external connection)
3) Jenkins Config
Firstly, for Debien, modify /etc/default/jenkins, add a line HTTP_HOST=external address (e.g. HTTP_HOST=www.example.com)
Then, add --httpListenAddress=$HTTP_HOST to your JENKINS_ARGS (JENKINS_ARGS="--webroot=/var/cache/jenkins/war --httpPort=$HTTP_PORT --ajp13Port=$AJP_PORT --httpListenAddress=$HTTP_HOST")
Finally, restart your jenkins