My problem is that i configured my dns to redirect two urls towards my server url but one of them must contain the port.
exp
www.xxxx.com---> xxx.fff.fff.ggg
www.yyyy.com---->xxx.fff.fff.ggg:8080
but since dns don't accept port in the conf how should i configure the apache2 server to redirect the url to url:port?
thank you
Create name-based virtual host on port 80 (this is routine). In the virtualhost with ServerName www.yyyy.com, redirect all traffic to www.yyyy.com:8080.
# Only in 2.2:
NameVirtualHost *:80
<Virtualhost *:80>
ServerName www.xxxx.com
</virtualhost>
<Virtualhost *:80>
ServerName www.yyyy.com
Redirect / http://www.yyyy.com:8080/
</virtualhost>
Related
I'm trying to set up both a gitea instance and another service on a server. The service is already on port 80, and gitea runs on port 3000. I would like to use apache2 to listen on port 80 and based on the cname redirect the traffic, so mysite.com -> gitea instance and othersite.com -> other service.
In /etc/apache2/sites-available/ i modified the 000-default.conf and i now have these 2 entries:
<VirtualHost *:80>
ServerName mysite.com
ProxyPreserveHost On
ProxyRequests Off
ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/
</VirtualHost>
<VirtualHost *:80>
ServerName othersite.com
</VirtualHost>
In my local dns I have both names point to the ip of the server.
It doesn't work and both mysite.com and othersite.com show the service on port 80 and can connect to port 3000 after the domain.
I want to know the use of this * and how to configure it?
* means a wildcard when you use wildcard you do bifurcation on ServerName
<VirtualHost *:80>
DocumentRoot /var/www/app1
ServerName app1.example.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/example
ServerName example.com
</VirtualHost>
Apache will route example.com to /var/www/example where as app1.example.com would be routed to /var/www/app1
VirtualHost directive allows you to configure and use multiple sites located on the same IP address. In this case, with *:80 you are creating a virtual host for every request coming on the port 80. It becomes more interesting when you start specializing and start to insert something other than * in the virtual host. An example can be, that according to the IP address with which a port is hit, you can open a different version of a web site, perhaps with different resources like: language translations, styles etc.
What are the appropriate configurations for the Subdomain module in drupal 7 on Window 7 running XAMPP?
My site is localhost/example
Here are the changes I have made:
settings.php
$cookie_domain = '';
Leaving this commented out gives me an error
"The $cookie_domain variable in settings.php is not set".
Uncommenting and putting in "localhost", ".localhost", "example", ".example" gives me an "Access denied" error.
It seems to accept "localhost/example" or a blank ' ', although I don't know if this is the right thing to do.
host
127.0.1.1 localhost example
(and I can successfully ping ideastar)
http.conf
NameVirtualHost *:80
<VirtualHost *:80>
ServerName example
ServerAlias *.example
DocumentRoot C:/xampp/htdocs
</VirtualHost>
getting the fallowing error
Subdomain error: localhost and subdomain-test.localhost did not resolve to the same IP address. Your DNS may be improperly configured and subdomains will likely not work.
First you should create two virtual host one for main domain and another for sub-domain. For ex: like we have two domains example.com and test.example.com to setup on local host. I am assuming that you have a fresh install of Xampp on your machine. Your virtual host [\xampp\apache\conf\extra\httpd-vhosts.conf] file should have these entries:
<VirtualHost *:80>
DocumentRoot "\xampp\htdocs\example"
ServerName example.com
ServerAlias example.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "\xampp\htdocs\example"
ServerName test.example.com
ServerAlias test.example.com
</VirtualHost>
Now open you system host file and make the following entries below the line "127.0.1.1 localhost" (localhost ip 127.0.0.1)
127.0.1.1 example.com
127.0.1.1 test.example.com
\xampp\htdocs\example this directory should contain your Drupal setup.
Cookie domain entry should be as per the below line
$cookie_domain = '.example.com';
i have assumed that you already have a Drupal site running at http:\localhost\example.
I've a local apache2 site which works if I have:
<VirtualHost *:80>
ServerName localhost
...
</VirtualHost>
<VirtualHost *:443>
ServerName localhost
in .conf file. So when I point browser to localhost I get to the site. How do I assign name to the site? E.g. I want example.com drive me there.
I tried to set the ServerName and NameVirtualHost:
NameVirtualHost 172.20.30.40:80
NameVirtualHost 172.20.30.40:443
<VirtualHost 172.20.30.40:80>
ServerName www.example.com
...
<VirtualHost 172.20.30.40:443>
ServerName www.example.com
But it doesn't work.
Edit:
I'm on linux (kubuntu).
Edit 2:
I also tried to
<VirtualHost *:80>
ServerName example.com
...
</VirtualHost>
<VirtualHost *:443>
ServerName example.com
Also set example.com as the server name in the underlying database (postgresql). And in /etc/hosts:
127.1.0.0 example.com
After restarting my app and apache I expected 127.1.0.0 to reditect me to my site. When I actually point browser to 127.1.0.0 it tries to go somewhere but couldn't make it.
OS: centOS 6.3 Final
I've installed the mysql and apache2(httpd) packages and changed the config in /etc/httpd/conf/httpd.conf as seen below:
<VirtualHost *:80>
DocumentRoot /var/www/html/wordpress/
ServerName www.asterix.int
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/html/staticSite/
ServerName www.meins.lan
ServerAlias www.deins.lan
ServerAlias www.obelix.int
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/html/joomla/
ServerName www.example.com
ServerAlias www2.example.com
ServerAlias www3.example.com
</VirtualHost>
All ServerName and ServerAlias are working fine and I can access the 3 pages.
But when I'm trying to access a page over the server's ip something strange (at least for me) happens. apache2 returns me the index page of the first defined virtualHost(in this example wordpress). I've tried this with all 3 virtualHosts and get the same Results.
Is this a normal behavior or what I'm doing false ?
If this is a normal behavior: Can I set the DocumentRoot exclusively for all requests to the ip ?
Thx !
This is the intended behavior. If you use the IP (let's say http://123.123.123.123/), Apache will use 123.123.123.123 as HTTP the hostname. Since there is no VirtualHost with a ServerName or ServerAlias of 123.123.123.123, the first VirtualHost is used.
So if you want a VirtualHost that listens only for http://123.123.123.123/ you can simply create a VirtualHost with:
<VirtualHost *:80>
DocumentRoot /var/www/html/my-ip-site/
ServerName 123.123.123.123
</VirtualHost>
This is a normal behaviour.
You are using a vhost-method called name-based virtual hosts. As you can imagine that means, that the "routing" of the apache is then only done by the hostname in the HTTP-request, according the ServerName and ServerAlias directives in the config.
As the request to the IP of your server - e.g. 1.2.3.4 - can not be routed into any of the defined vhost, apache takes the default virtualhost.
The default virtualhost is more or less the first virtualhost defined.
The request on the IP is accepted, because you used wildcard definitions *:80.
You can check the virtualhosts set in apache by the apache
# command apache2 -S