How to access URL with port 8000 on public IP over internet?

Hi there

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:///OA_HTML/AppsLogin. But the same URL do not work over internet despite the fact that I have configured the entire server on the Linode Public IP.

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

Someone said the following about the above Oracle server hosted on Amazon EC2. How can I do something like this on Linode?

"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."

Perhaps your ISP is blocking connections to port 8000. You can try using a different ISP, or post the URL here and we can try to access it.

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.

Thanks for replying. Based on the following 3 tests for traceroute, it reaches the linode server when I use the IP behind the hostname with port 8000 (see test 3). whereas simply using hostname:8000 doesn't leaves my ISP Gateway.

But the server URL do not get displayed even when I give the IP Address based url with port 8000 - which is :8000. So I am not sure why can't I see my server's URL. Thoughts?

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

Check Cloudflare settings. Is ebs.aclnz.com pointing to 198.58.113.237?

Yes I can confirm that Cloudflare is pointing to 198.58.113.237.

I think I've found the problem. Cloudflare doesn't "work" with port 8000.

https://support.cloudflare.com/hc/en-us … work-with-">https://support.cloudflare.com/hc/en-us/articles/200169156-Which-ports-will-CloudFlare-work-with-

So, your subdomain (ebs.aclnz.com) must not be behind Cloudflare or use another port to work with Cloudflare (link above)

Ah..alright, and that's helpful. But out of curiosity I am wondering why the traceroute is working on the same port (traceroute -T -p 8000 198.58.113.237).

If CloudFlare doesn't work with 8000 port then I believe I shouldn't have got a traceroute to linode server. Thoughts?

Thanks.

traceroute -T -p 8000 198.58.113.237 has nothing to do with CloudFlare. You go directly to your Linode.

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).

Alright that makes sense. So let me point my domain nameservers directly to Linode, and then I will retry and update back.

Cheers!

After switching the nameservers to Linode I am able to access the server URL on port 8000. Thanks v much for your help on this one.

Cheers!

You didn't really need to switch nameservers to Linode (unless you had other reasons of course). On the cloudflare dns settings you can specify which domains are handled by cloudflare servers and which get passed directly through to your own.

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.

@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).

Okay, but the issue I had with Cloudflare (for the specific subdomain) was that it doesn't allow 8000 port to pass through. I had no choice but to switch-off that subdomain on Cloudflare and gave its nameservers at the registrar level.

Am I missing anything in what you are trying to say?

Thanks.

This is what confused me: "I have to specify Linode's nameservers on domain registrar"

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 :)

Got you, and thanks for letting me know. Cheers!

Reply

Please enter an answer
Tips:

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct