How to access URL with port 8000 on public IP over internet?
I have installed a Oracle Applications server on Linode on a public-ip, on CentOS 5.6. This server has got its own Oracle HTTP (Apache) server in built under it.
I am able to access the server's front-end internally on the server through URL - http://
So when I type the above URL on Firefox browser it gives message 'The connection has timed out'.
Here's what I have done so far to try with different ways, but unfortunately I am still unable to access above URL over internet:
1. Tried by completely disabling the firewall (iptables) and SELinux.
2. Added both 8000 and 80 ports to Listen under the above Apache server httpd.conf file.
3. I can ping the Linode's Public IP Address over internet. This is the same IP which is assigned to above Oracle Server.
4. I have also checked to make sure that the above server domain is working on port 80. That is, by installing another external httpd server (yum install httpd), and then configuring the Apache to reach to a home page. This configuration is simply adding the domain under /var/www directory with a default 'index.html', and redirect to the above Oracle Server URL.
Anyone know how to make port 8000 work over public IP?
Thanks in advance.
16 Replies
"On Amazon aws console, go to network and security and in the security group used with this instance, allow the external ip address of your computer's network to access this instance with whatever port you are using i.e. 8000. Once you allow your external public ip address to access this instance, you should be able to access the Oracle Applications login page."
There are generally only going to be two causes originating on your Linode of the problem you mention.
1. The firewall is blocking access to the port in question. You say the problem persists even after disabling the firewall, so this is unlikely.
2. The program is not listening on port 8000 for some reason. This could be because it isn't running at all, or because it is not configured properly. You can run netstat -lvpnut on your Linode as root to see what programs are listening for network connections.
If both of these are OK, the problem is likely elsewhere. A traceroute -T -p 8000 hostname run from outside your Linode ought to show you where the packets are being blocked.
But the server URL do not get displayed even when I give the IP Address based url with port 8000 - which is
TEST 1 RESULTS - simply with host name example.com
traceroute -T -p 80 example.com
TEST 2 RESULTS - Host name example.com:8000
traceroute -T -p 8000 example.com
TEST 3 RESULTS - Using the IP Address which is behind the host name example.com:8000
traceroute -T -p 8000
So, your subdomain (ebs.aclnz.com) must not be behind Cloudflare or use another port to work with Cloudflare (link above)
If CloudFlare doesn't work with 8000 port then I believe I shouldn't have got a traceroute to linode server. Thoughts?
Thanks.
CloudFlare needs DNS delegation (you use its nameservers at your domain registrant). This way CloudFlare knows how to proxy (or not) those requests (based on your CloudFlare DNS configuration).
Cheers!
Cheers!
Thanks.
@linodelearner:
ah..good to know that. So how do I specify that a domain get passed directly - is it by clicking on that 'cloud' icon next to the domain (under dns settings), which turns grey when you switch-off a domain under cloudflare? Which is what I have done now, but as a result I have to specify Linode's nameservers on domain registrar.
Thanks.
You are right about CloudFlare icon.
You are still using CloudFlare nameservers on your domain registrant (from linux console: whois aclnz.com)
Name Server: JIM.NS.CLOUDFLARE.COM
Name Server: LISA.NS.CLOUDFLARE.COM
You have setup one subdomain in CloudFlare to resolve your Linode instance IP address (ebs.aclnz.com -> 198.58.113.237) and clicked 'cloud' icon until it turns grey.
Said that, you don't need to switch to Linode's nameservers. With CloudFlare you can proxy any subdomain or not (Linode 'only' offers the last one).
Am I missing anything in what you are trying to say?
Thanks.
You didn't switch your nameservers, you are still using CloudFlare nameservers in GoDaddy.
You could choose any free or paid DNS services. For example Linode, DigitalOcean, RackSpace, Cloudns, etc…. Your choice was CloudFlare, they offer more than 'simple' DNS service.
To use CloudFlare you have two options for your subdomain:
use CF proxy and swith your application port to one of CF allowed ports
turn off CF proxy (what you did)
Those are your choices