View previous topic :: View next topic |
Author |
Message |
RoadRunner Bodhisattva


Joined: 12 Jun 2002 Posts: 490 Location: Coimbra, Portugal
|
Posted: Fri Jul 09, 2004 3:32 am Post subject: apache - virtualhosts a redireccionar para outras máquinas? |
|
|
Boas,
Tenho outra dúvida =) Queria poder especificar através de virtual hosts máquinas da lan internas. Ou seja, algo do tipo, tenho uma máquina principal, onde está um apache acessível pela porta 80. Se eu fizer um request do tipo dominio.com, esse request é satisfeito pela própria máquina. Mas se o request for sub.dominio.com, esse request é redireccionado para uma máquina interna da LAN, mantendo a porta 80 =)
Eu sei que posso fazer port forward de várias portas para as máquinas da lan interna e depois no vhosts.conf ter para cada subdominio um redirect para um url do tipo sub.dominio.com:81, mas não era bem isso. A ideia era isto ser transparente, ou seja num request deste tipo o apache faria um request à máquina interna e apresentava o resultado transparentemente.
Qualquer coisa do tipo:
<virtualhost *:80>
Servername sub.dominio.com
ServerIP 192.168.0.10
</virtualhost>
Assim sites mais exigentes com bases de dados pesadas e tal eram servidos numa máquina mais potente, mas ficava tudo de uma forma transparente ao utilizador final. É que não cria ter mesmo sites com um url onde a porta é especificada...
Isto por acaso é possível? Procurei no google e nos forums, mas nao encontrei nada relacionado. |
|
Back to top |
|
 |
Mythos l33t


Joined: 02 May 2004 Posts: 953 Location: Portugal
|
Posted: Fri Jul 09, 2004 11:50 am Post subject: |
|
|
Tchiii que grande confusão, isso é muito simples, basta configurares o bind! para teres virtual hosts!!!
e depois defineros os vários sub dominios na máquina de vais aceder a outra.
Eu tive que fazer um trabalho que tinha ligações entre .net e php . XML pelo meio, para isso tive que configurar virtual servers:
em clakware /var/named/db.kronos.mythos.pt
Code: | $TTL 86400
@ IN SOA root.localhost. kronos.mythos.pt. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS localhost.
kronos.mythos.pt. IN A 192.168.1.3
servidor.kronos.mythos.pt. IN A 192.168.1.3
cliente.kronos.mythos.pt. IN A 192.168.1.3
admin.kronos.mythos.pt. IN A 192.168.1.3
kronos.mythos.pt. IN A 192.168.1.3
kronos.mythos.pt. IN A 213.22.224.233
servidor.kronos.mythos.pt IN A 213.22.224.233
clientekronos.mythos.pt. IN A 213.22.224.233
admin.kronos.mythos.pt. IN A 213.22.224.233 |
/etc/named.conf
(acrescentei isto no final )
Code: | zone "kronos.mythos.pt" IN {
type master;
file "db.kronos.mythos.pt";
allow-update { none; };
}; |
Virtual Hosts do apache:
Code: | <VirtualHost *:80>
ServerAdmin jini@clix.pt
DocumentRoot "/home/apache5/AdminZone"
ServerName admin.kronos.mythos.pt
ErrorLog /var/log/error8_log
CustomLog /var/log/access8_log common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin jini@clix.pt
DocumentRoot "/home/apache5/PerryMason"
ServerName servidor.kronos.mythos.pt
ErrorLog /var/log/error7_log
CustomLog /var/log/access7_log common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin jini@clix.pt
DocumentRoot "/home/apache5/HerculePoirot"
ServerName cliente.kronos.mythos.pt
ErrorLog /var/log/error6_log
ServerName servidor.kronos.mythos.pt
ErrorLog /var/log/error7_log
CustomLog /var/log/access7_log common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin jini@clix.pt
DocumentRoot "/home/apache5/HerculePoirot"
ServerName cliente.kronos.mythos.pt
ErrorLog /var/log/error6_log
CustomLog /var/log/access6_log common
</VirtualHost> |
Depois nas outras máquinas ou no ficheiros /etc/hosts tens que lá meter como é obvio:
Code: |
192.168.1.3 kronos.mythos.pt |
ou noutro os conhecido:
Code: |
c:\Windows\system32\drivers\etc\hosts
192.168.1.3 kronos.mythos.pt |
_________________ Best Regards,
Sérgio Henrique
Linux dune 3.0.6-gentoo #1 SMP Thu Oct 27 16:47:29 WEST 2011 x86_64 Intel(R) Core(TM)2 Duo CPU T7500 @ 2.20GHz GenuineIntel GNU/Linux |
|
Back to top |
|
 |
RoadRunner Bodhisattva


Joined: 12 Jun 2002 Posts: 490 Location: Coimbra, Portugal
|
Posted: Fri Jul 09, 2004 5:54 pm Post subject: |
|
|
Mas com a configuração que tens, para além de só funcionar na lan, tens sempre o mesmo apache fa funcionar numa só máquina.
O que eu queria era uma espécie de apache a servir como proxy entre várias máquinas locais que redireccionava os pedidos para cada máquina dependendo do virtual host escolhido. |
|
Back to top |
|
 |
Mythos l33t


Joined: 02 May 2004 Posts: 953 Location: Portugal
|
Posted: Sat Jul 10, 2004 5:59 pm Post subject: |
|
|
kronos.mythos.pt. IN A 213.22.224.233
servidor.kronos.mythos.pt IN A 213.22.224.233
clientekronos.mythos.pt. IN A 213.22.224.233
admin.kronos.mythos.pt. IN A 213.22.224.233
funciona fora da lan, so tens e de configurar o hosts dos pc's onde queres ter acesso ao servidor.
Quanto a redirecionares, só estou a ver isso configurando o dns, definindo os vários dns da rede. _________________ Best Regards,
Sérgio Henrique
Linux dune 3.0.6-gentoo #1 SMP Thu Oct 27 16:47:29 WEST 2011 x86_64 Intel(R) Core(TM)2 Duo CPU T7500 @ 2.20GHz GenuineIntel GNU/Linux |
|
Back to top |
|
 |
md5sum n00b


Joined: 26 Jun 2003 Posts: 10 Location: Portugal
|
Posted: Sat Jul 10, 2004 11:39 pm Post subject: |
|
|
Sim, isso tem de ser feito através de um servidor de dns e não web. |
|
Back to top |
|
 |
RoadRunner Bodhisattva


Joined: 12 Jun 2002 Posts: 490 Location: Coimbra, Portugal
|
Posted: Sun Jul 11, 2004 7:55 am Post subject: |
|
|
Da forma que tens isso, cada um dos subdominios aponta para o mesmo ip.
logo, quando chamas qualquer um desses subdominios a máquina que tem esse ip responde, ou seja é sempre o mesmo apache.
O meu problema não é ter virtual hosts, isto porque eu até tenho *.dominio IN A ip, ou seja tudo o que seja sub-dominio vai parar à minha máquina.
O problema é, como é que eu ponho a coisa a funcionar assim:
kronos.mythos.pt. IN A 213.22.224.233 ->apache da máquina 192.168.0.1
servidor.kronos.mythos.pt IN A 213.22.224.233 ->apache da máquina 192.168.0.2
clientekronos.mythos.pt. IN A 213.22.224.233 ->apache da máquina 192.168.0.3
admin.kronos.mythos.pt. IN A 213.22.224.233 ->apache da máquina 192.168.0.4 |
|
Back to top |
|
 |
Mythos l33t


Joined: 02 May 2004 Posts: 953 Location: Portugal
|
Posted: Sun Jul 11, 2004 1:46 pm Post subject: |
|
|
só ainda não percebi uma coisa para que queres redirecionar o apache para outros apaches ? não ficava melhor configurar os virtual em cada um ???
Ou configuras os dns de cada computador ou então tenta martelar isso:
Code: |
vais a /etc/hosts:
192.168.0.1 kronos.mythos.pt kronos
192.168.0.2 servidor.kronos.mythos.pt servidor
...
depois no db.
metes:
kronos.mythos.pt. IN A 192.168.0.1
servidor.kronos.mythos.pt. IN A 192.168.0.2
|
... _________________ Best Regards,
Sérgio Henrique
Linux dune 3.0.6-gentoo #1 SMP Thu Oct 27 16:47:29 WEST 2011 x86_64 Intel(R) Core(TM)2 Duo CPU T7500 @ 2.20GHz GenuineIntel GNU/Linux |
|
Back to top |
|
 |
RoadRunner Bodhisattva


Joined: 12 Jun 2002 Posts: 490 Location: Coimbra, Portugal
|
Posted: Sun Jul 11, 2004 7:30 pm Post subject: |
|
|
Eu quero redireccionar por uma razão simples. Imaginem este diagrama:
Code: |
| Internet | ---> | dominio.com | --> | 192.168.0.1 |
\--> | sub.dominio.com| --> | 192.168.0.2 |
|
E por aí adiante. Imaginem que a máquina 192.168.0.1 é uma máquina pouco potente, então serve apenas páginas em html puras. A máquina 192.168.0.2 já é uma máquina mais poderosa, pode aguentar com uma base de dados. O exemplo acima é simples, pois a ideia não era apenas esta, poderia ter máquinas na lan cuja potência dependia da necessidade de cada virtual host. Assim virtual hosts com necessidades de base de dados eram satisfeitos por 192.168.0.2, subdominios com necessidades de jsp iam apontar para uma máquina configurada com Tomcat, etc.
Isto dentro de uma lan é bastante simples, faço como vocês dizem. Mas eu quero que isto fique acessível do exterior, da internet, da qual tenho apenas um ip público. Assim quando eu faço um request sub.dominio.com ele vai sempre parar à máquina que faz o host do dominio.com. Esta verifica qual o subdominio pretendido (sub neste caso) e vê que quem satisfaz este pedido é a máquina interna 192.168.0.2, então de uma forma transparente servia apenas de proxy entre o cliente que está na internet e a máquina interna que aloja o sub.dominio.com
Eu imagino que isto seja impossível com apenas um ip externo.. mas por isso coloquei a questão. |
|
Back to top |
|
 |
Mythos l33t


Joined: 02 May 2004 Posts: 953 Location: Portugal
|
Posted: Sun Jul 11, 2004 8:18 pm Post subject: |
|
|
queres tu fazer uma especia de distcc ...
Nesse caso não estou a ver a solução, mas deve haver, uma coisa podes fazer que é quando falha a net num ir para o outro ... Agora dividir o rendimento, desconheço ... _________________ Best Regards,
Sérgio Henrique
Linux dune 3.0.6-gentoo #1 SMP Thu Oct 27 16:47:29 WEST 2011 x86_64 Intel(R) Core(TM)2 Duo CPU T7500 @ 2.20GHz GenuineIntel GNU/Linux |
|
Back to top |
|
 |
meetra Tux's lil' helper


Joined: 18 Nov 2002 Posts: 135 Location: Porto, Portugal
|
|
Back to top |
|
 |
RoadRunner Bodhisattva


Joined: 12 Jun 2002 Posts: 490 Location: Coimbra, Portugal
|
Posted: Mon Jul 12, 2004 1:59 am Post subject: |
|
|
meetra, em cheio!
Perfeito, era mesmo isto que eu queria. Caso alguém queira fazer isto é bastante simples. Basta na configuração dos virtual hosts ter algo do estilo:
Code: |
<VirtualHost *:80>
ServerName subdominio.dominio.org
DocumentRoot /var/www/localhost/htdocs/subdominio
ProxyPass /var/www/localhost/htdocs/subdominio http://192.168.0.2/
</VirtualHost>
|
Funciona na perfeição =) Mais uma vez obrigado, isto vai-me dar muito, muito jeito! |
|
Back to top |
|
 |
md5sum n00b


Joined: 26 Jun 2003 Posts: 10 Location: Portugal
|
Posted: Mon Jul 12, 2004 10:11 pm Post subject: |
|
|
Desconhecia
Muito bom mesmo  |
|
Back to top |
|
 |
Mythos l33t


Joined: 02 May 2004 Posts: 953 Location: Portugal
|
Posted: Sun Aug 08, 2004 12:15 am Post subject: |
|
|
Desconhecia muito fixe só agora é que vi a solução
Thanx _________________ Best Regards,
Sérgio Henrique
Linux dune 3.0.6-gentoo #1 SMP Thu Oct 27 16:47:29 WEST 2011 x86_64 Intel(R) Core(TM)2 Duo CPU T7500 @ 2.20GHz GenuineIntel GNU/Linux |
|
Back to top |
|
 |
|