Solved

Looking for alternatives to host a website when ISP block port 80

Posted on 2002-05-02
13
352 Views
Last Modified: 2013-12-15
Dear Experts,

I use Apache on Red Hat Linux 7.2 to host my website. since My ISP, Adelphia, does not offer static IP, I signed up at www.no-ip.com to use their free DNS service.

The only thing that I changed was the server name on httpd.conf (I put dagadaga.no-ip.com as the server name) Then I did a ./etc/init.d/httpd restart to restart the daemon.

I can find my website, so far so good.

when I go to my friend's house, however, I caanot find my website anymore.

I then did a tracert on my friend's windows system and I was able to trace all the way back to my IP (I tested using both the IP address and website address and both worked).

I also did a ping and was able to receive response from my computer.

Interestingly, I can do a telnet to my host from my friend's house without any problems.

Given these observations, can anyone tell me if my ISP blocked my Port 80? Or is there a step that I'm missing? Any alternatives to go around if my ISP really blocked Port 80?

Thank you in advance and I appreciate every feedback!

dagadaga


0
Comment
Question by:dagadaga
  • 4
  • 2
  • 2
  • +3
13 Comments
 
LVL 40

Expert Comment

by:jlevie
Comment Utility
While it's possible to have an Apache configuration that would not be listening for requests from the Internet, it's unlikely that you would have done so. If the configuration of your htdocs dir includes:

    Order allow,deny
    Allow from all

then anyone can access the server.

It is possible, however, that you may have installed the default firewall on 7.2 that could be blocking access. An easy way to check for that being a problem is just to make sure that there is no firewall running with '/etc/init.d/ipchains stop'. That will shutdown the firewall and you can see if it's the problem. Be aware that a reboot will start the firewall unless that service is disabled.

If there's no firewall in the way and you still can't connect to your web server, then yes, it's likely that your ISP blocks inbound traffic on port 80. You could try having Apache listen on some odd port, like say 19191 (change 'Port 80' to 'Port 19191' and restart Apache) and see if that works.
0
 

Author Comment

by:dagadaga
Comment Utility
jlevie, thanks for your feedback.

1. my /var/www/html directory has the following configurations:

Options Indexs FollowSymlinks
AllowOverride None
Order allow, deny
Allow from now

So I guess like you said, everyone can asscess my website, supposely.

2. I took out the firewall. But the result did not improve. my friend still cannot find the website.

3. I checked the httpd.conf file and there are many places tha listen to port 80. Which ones should be changed? and what is the range of the port? Can I just randomly pick one?

Thanks,

dagadaga
0
 
LVL 40

Accepted Solution

by:
jlevie earned 50 total points
Comment Utility
I don't have a copy of a RedHat httpd.conf file handy right now to look at as all of my web servers use a locally built copy of Apache. If memory serves there should be a "Port 80" directive that you can change for the default server. And yes, you can pretty much pick and high-order port number (above 1023) and be safe. If you were to pick one that something else is using Apache will complain and not start and you can try a different port. Just don't use any of the common ones like 8080, 443, 8443, 8888, 7777, etc. Some random looking port, like 19191 would be good.

Also you could temporarily disable the telnet service and use that port. You know that it isn't being blocked.
0
 
LVL 3

Expert Comment

by:hnminh
Comment Utility
did you try to reload you web server everytime the computer connect to the network, using `kill -HUP pid`. This will force the web server to re-binding to new ip interface.
0
 
LVL 3

Expert Comment

by:hnminh
Comment Utility
oh, missed some of your text that you did restart the web server. I assume that you are 100% sure the connection was up since the time you restarted web server to when you try from your friend's house. At installation time, RH did ask you about security level which will help the installation to implement a default firewall rule set using ipchains/iptables. These rule may block out access from anywhere else but you localhost! check this with ipchains/iptables (`ipchains -L` or `iptables -L`)! hope it help!
0
 
LVL 3

Expert Comment

by:hnminh
Comment Utility
mmmmmm..... what the heck am i doing.... repeat other peoples words... so sorry!
0
Get up to 2TB FREE CLOUD per backup license!

An exclusive Black Friday offer just for Expert Exchange audience! Buy any of our top-rated backup solutions & get up to 2TB free cloud per system! Perform local & cloud backup in the same step, and restore instantly—anytime, anywhere. Grab this deal now before it disappears!

 

Author Comment

by:dagadaga
Comment Utility
jlevie and hnminh,

Thanks for the feedback, I appreciate your information.

I did as you two mentioned and the daemon restarted without any problem. The weired thing was that when I checked the error log (located at /var/log/httpd/error_log), it has the following message:

[crit] (98) Address already in use: make_sock: could not bind to port 12598.

I tried several other ports and the error logs continues to show the same message with the port number that I changed to.

Any ideas to correct this error?

dagadaga
0
 
LVL 3

Expert Comment

by:UkWizard
Comment Utility
Surely, the fact you are using the freedns service name as a your hostname means that you would have to be connected and sync'd to the freedns service BEFORE starting the apache webserver, as it would only read it once on startup.


Try telnetting to port 80 from your friends connection, see if you get some http headers back or not.

I may be wrong on the apache config front, but thats what i thought would happen.
0
 
LVL 3

Expert Comment

by:UkWizard
Comment Utility
Oh yeah, sorry , forgot, make sure you can resolve the freedns name-to-ip from the webserver itself.
0
 
LVL 3

Expert Comment

by:hnminh
Comment Utility
sorry I did not have notif email that there were comments :(

Using `netstat -a` and `pas xua` right after you stop httpd to see if httpd is still running or the port specified in httpd.conf is used by other process. it's help if you could post the output of the 2 commands here.
0
 

Expert Comment

by:CleanupPing
Comment Utility
dagadaga:
This old question needs to be finalized -- accept an answer, split points, or get a refund.  For information on your options, please click here-> http:/help/closing.jsp#1
EXPERTS:
Post your closing recommendations!  No comment means you don't care.
0
 
LVL 1

Expert Comment

by:drewber
Comment Utility
This question has been classified abandoned. I will make a recommendation to the moderators on its resolution in a week or two. I appreciate any comments that would help me to make a recommendation.
 

Unless it is clear to me that the question has been answered I will recommend delete. It is possible that a Grade less than A will be given if no expert makes a case for an A grade. It is assumed that any participant not responding to this request is no longer interested in its final disposition.

 
If the user does not know how to close the question, the options are here:
http://www.experts-exchange.com/help/closing.jsp
 
drewber
0

Featured Post

Get up to 2TB FREE CLOUD per backup license!

An exclusive Black Friday offer just for Expert Exchange audience! Buy any of our top-rated backup solutions & get up to 2TB free cloud per system! Perform local & cloud backup in the same step, and restore instantly—anytime, anywhere. Grab this deal now before it disappears!

Join & Write a Comment

SSH (Secure Shell) - Tips and Tricks As you all know SSH(Secure Shell) is a network protocol, which we use to access/transfer files securely between two networked devices. SSH was actually designed as a replacement for insecure protocols that sen…
I. Introduction There's an interesting discussion going on now in an Experts Exchange Group — Attachments with no extension (http://www.experts-exchange.com/discussions/210281/Attachments-with-no-extension.html). This reminded me of questions tha…
Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now