WAMP apache httpd.config and hosts - how to alias localhost to port 8080? - apache

Ok so I configured my apache installation on Windows 7 such that it listens on port 8080 by changing the respective entry in httpd.config.
I was too stupid to realize that now I have to access localhost with :8080 at the end.
Question: is there a way to have my box automagically resolve localhost to 127.0.0.1:8080 ? I don't like haviog to type :8080, and NO I CANNOT change the port to 80, I need that one for firewall.
Thanks

no. hostnames have nothing to do with ports. You'll have to specify the port yourself, or set up a proxy on the usual port 80 that will do the 8080 requests on your behalf. ... or bite the bullet and use port 80 directly and move your firewall elsewhere.

Related

127.0.0.1 can't be reached with apache running

I set apache server to run on 8080 and 4433 ports (I changed all the references on 80 port in configuration files as well as all references on 443 port so apache can start). And in XAMPP application it says that apache server is normally running. MySQL server is running as well. There is a solid connection with internet so connection isn't a problem. But when I tried to access 127.0.0.1 this message appeared on display:
This site can’t be reached
127.0.0.1 refused to connect.
Try:
Checking the connection
Checking the proxy and the firewall
ERR_CONNECTION_REFUSED
How to solve this issue?
Apache won't re-read it's config file automatically after you change it so make sure you've restarted the service.
Also enter the url as http://127.0.0.1:8080 so the browser knows to connect on port 8080 rather than 80.

Set virtual host for redirect to multiple web server (apache)

Don't know what the perfect title for this, but here it is.
I'm running a server with Windows Server 2008 R2.
On this server I have three webapps and it already run well
App1 using Apache2 on port 80
App2 using IIS on port 81
App3 using Xampp Apache on port 83
I already have a domain for each port
1. domain1.com for port 80
2. domain2.com for port 81
3. domain3.com for port 83
all domain has been pointing to server, and it is work fine when I use (:port) behind the domain, eg. domain1:83 is already open Xampp Apache on port 83.
however, what I need is when I type domain1.com it should open port 80, domain2.com it should open port 81, and domain3.com should open port 83.
Simple say, I don't need to add :81 or :83 if I want to open those sites.
Main apache server used are Apache2, and I need configuration to automatically when I type domain2.com it goes to port 81 (localhost:81), and so if I type domain3.com it goes to port 83 (localhost:83)
Meaning is, that Apache2 only handle App1 on port 80, when I want to access App2 using domain2.com then it refer to localhost:81 then the process will be handled by IIS, and so for App3 using domain3.com it refer to localhost:83 then Xampp will handle the process.
Every Apps has different config so I cannot put it to single port 80 then difference it by DocumentRoot since other Apps are not processed by Apache2.
Regards,
Set up a name-based virtual host support on Apache. It is handling port 80, so it will handle all requests to port 80, no matter what port number is used.
You then have two options.
Redirect
Proxy
You can redirect the traffic to the other port (which will show the port number in the address bar of the browser, and cause search engines to index URLs with that port number in them)
Redirect / http://domain2.com:81/
Or you can proxy the traffic through Apache (which will relay everything through Apache, which could have performance implications):
ProxyPass "/" "http://domain2.com:81/"

Varnish and additional ports

How can I add another port to Apache, and keep Varnish listening on port 80 only? The other new port would have a different document root.
Using Apache's sites-available configuration files you can specify what port the configured name should resolve on.

Apache port changed but still have to http://localhost:81/dashboard/

I changed Apache port from 80 to 81 because 80 is used by skype.
(I did this
Locate the following lines :
#Listen 12.34.56.78:80
Listen 80
ServerName localhost:80
Replace them by :
#Listen 12.34.56.78:81
Listen 81
ServerName localhost:81)
Long story short, if I do http://localhost:81/dashboard/ it works but I want to only use http://localhost/dashboard/.
I did Xampp -> Config -> Service and Port Settings -> Main port changed from 80 to 81 and SSL port still 443
I'd like to know where's the mistake and how can I repair it.
If you want to open http://localhost/dashboard/ your apache should work on port 80, this is default http port.
So you have to open skype and go to Tools->Options->Advanced->Connection and uncheck "Use port 80 and 443 for additional incoming connections"
The HTTP protocol is set to port 80 by the IANA standards. If you want to use connect to an HTTP server on another port, you must add the port to the URI, as in http://localhost:81/
Now, you can edit /etc/services on a linux box and change 'http' to 81, but this is not recommended, as any other HTTP connections from that host to all servers will all try to connect to port 81, which will break all HTTP clients. (Seriously, this will probably break all kinds of things you don't expect. Just use the port in the URI.)
You can change skype's default port as follow...
Go to Tools -> Options -> Advanced -> Connection and uncheck the box "use port 80 and 443 as alternatives for incoming connections"
Anyway your apache must work on port 80 in order to access http://localhost/dashboard without mentioning a port.

Virtual Host ServerName without Port

Let's say that I need to setup a virtual host with the server name text.dev, is there a way so I can enter test.dev in my browser without a port number? My xampp is running on port 8080. I have to run on this port.
Currently, I can get test.dev:8080 to go the correct directory, but is there a way I can set test.dev to automatically go to port 8080. Any help would be appreciated, Thanks.
This is not possible directly they way you sketch it. This has nothing to do with the virtual host configuration, but with the browser behavior. If you do not specify a port, then the browser will always connect to port 80. nothing you can do against that.
So your only bet is to listen on port 80. If you cannot or do not want to do that with your http server, then you have to forward requests from that port to the one your virtual host listens on. There are several options for such port forwarding: firewall based, by using a simple socket listener which acts like a proxy or by means of a tunnel, for example setup using the ssh tools.
The only way you can do this is NAT forwarding port 80 to 8080. This is really easy with iptables, but this is only for Linux. I am not sure which OS you use. If you are using Windows, I don't think you have some equivalent.
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to 8080