This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
On the Tomcat server, running on port 8080 I have an application with this url http://localhost:8080/MyApp Port 8080 is blocked from the outside
Apache Web Server is on port 80 and services public requests for Tomcat.
There are 2 ways to solve this common problem when you have Apache HTTPD + Apache Tomcat. Both involve using Apache HTTPD as a proxy server for Tomcat.
The Apache mod_jk module is the traditional way to do this. It establishes a tunnel from Apache HTTPD to Tomcat via Tomcat's proxy port (8009). You provide proxy configuration in the Apache configuration file(s) that includes the external URL pattern and the Tomcat URL translation of that pattern. The Tomcat server also has worker directives to assist in the process.
The Apache mod_proxy module is the newer and preferred way to do this. It works much like mod_jk, except that it's simpler to configure and you don't have to make any configuration changes on the Tomcat side. However, mod_proxy should be used with care. If you set up a reverse proxy as an open proxy (which isn't hard to do), a whole army of nasty people based on Taiwan's HINET ISP service will show up like flies around a dead animal and within 2-3 days, your system will be so busy operating as a spam relay that it won't be usable for anything else.
I'm picking on HINET specifically since they're atrociously notable offenders to the point where my network has banned thousands of HINET IP addresses, but actually would-be spammers anywhere in the world can - and will - do the same.
An IDE is no substitute for an Intelligent Developer.