virtual host

Fórumok

virtual host

Hozzászólások

Szaisztok!

Van egy szerverem aminek van egy kulso ip szama. Ezen a szerveren van deklaralva 20 virtualis webszerver, a kovetkezo formaba.

NameVirtualHost *
<VirtualHost *>
ServerAdmin barni@server
ServerName www.server.xy
DocumentRoot /home/user/web
ErrorLog /var/log/apache/server_error_log
CustomLog /var/log/apache/server_access_log common
</VirtualHost>

A kovetkezot szeretnem megoldani:

Keszitettem egy ujabb szervert, aminek csak egy belso ip szama van. Pld. 192.168.1.6. Ezen a szerveren is van webszerver. A kulso ip szamu szerverrol szeretnek egy parat atiranyitani a belso ip szamu szerverre, de ugy hogy ezek kivulrol is latszodjanak.

Probaltam a kov. keppen:
iptables -t nat -A PREROUTING -p tcp -d www.server.xy --dport 80 -j DNAT --to 192.168.1.6:80

Ezzel az a baj, hogy minden virualis domaint atiranyit a belso ip szamu gepre, mert az apache hatarozza meg hogy hol van az illeto virtualis szerver allomanyai.

En azt szeretnem hogy csak egyet iranyitsak at.Valaki tudna egy megoldast erre a problemara??

apach rtfm.

az apachnak meg lehet mondani (sőt kell is, hogy hol halgatózzon)
lehet keverni a named és az ip alapú vhostokat is.

[quote:925fa7e7a9="kacsa"]iptables -t nat -A PREROUTING -p tcp -d www.server.xy --dport 80 -j DNAT --to

A megoldast mar fent emlitettek, de te kevered a csomag es a tartalomszures fogalmat. Hogy megertsd, elarulom: csomagszurovel nem fogsz tudni tartalom szerint szurni vagy forwardolni, a ket tipusu csomagszuro kozotti kulonbsegert lapozd fel a Google-t. A fent emlitett sor lattan javaslom neked az iptables man es howto atolvasast, kulonos tekintettel erre a reszre:
[quote:925fa7e7a9="man"] -s, --source [!] address[/mask]
Source specification. Address can be either a network name, a
hostname (please note that specifying any name to be resolved
with a remote query such as DNS is a really bad idea), a network
IP address (with /mask), or a plain IP address. The mask can be
either a network mask or a plain number, specifying the number
of 1's at the left side of the network mask. Thus, a mask of 24
is equivalent to 255.255.255.0. A "!" argument before the
address specification inverts the sense of the address. The flag
--src is an alias for this option.

-d, --destination [!] address[/mask]
Destination specification. See the description of the -s
(source) flag for a detailed description of the syntax. The
flag --dst is an alias for this option.

Az apache mod proxy a gyógyír a te bajodra.
http://httpd.apache.org/docs/1.3/mod/mod_proxy.html

Az apache mod proxy a gyógyír a te bajodra.

Sajnos nem tudom megoldani.
A kovetkezok vannak beallitva:

LoadModule proxy_module libexec/libproxy.so
AddModule mod_proxy.c

<IfModule mod_proxy.c>
ProxyRequests On
ProxyVia On

<Directory proxy:*>
Order deny,allow
Deny from all
Allow from 192.168.1.6
</Directory>

CacheRoot "/var/cache/proxy"
CacheSize 5
CacheGcInterval 4
CacheMaxExpire 24
CacheLastModifiedFactor 0.1
CacheDefaultExpire 1
NoCache 192.168.1.6
</IfModule>

<VirtualHost *>
ServerAdmin barni@domain.xy
ServerName www.domain.xy
ProxyPass /home/web/web http://192.168.1.6:80
ProxyPassReverse /home/web/web http://192.168.1.6:80
ErrorLog /var/log/apache/domain_error_log
CustomLog /var/log/apache/domain_access_log common
</VirtualHost>

tehát még 1x

te azt akarod, hogy a kinti webeidet belűröl is el lehessen érni.

akkor felveszel egy újabb virtuális hosztot

ugyanazokkal az adataiddal, csak a szervernek más ip-t adsz meg.
nem kell hozzá proxy, iptables, meg semmi mágia.

valahogy így:
[code:1:28e93e1dee]
Listen 192.168.1.6
<VirtualHost 192.168.1.6>

ServerAdmin webmaster@trash.loc
ServerName trash_in.loc

DocumentRoot /var/www/loc.trash/
</VirtualHost>
[/code:1:28e93e1dee]

[code:1:28e93e1dee]
Listen 111.111.111.111
<VirtualHost 111.111.111.111>

ServerAdmin webmaster@trash.loc
ServerName trash_out.loc

DocumentRoot /var/www/loc.trash/
</VirtualHost>
[/code:1:28e93e1dee]

a 111.111.111.111 a géped külső ip címe

ha ez nem jó, akkor biztos bennem van a hiba

Bocs de nem azt akarom. A benti webeimet kivulrol is lehessen elerni.

<Directory proxy:*>
Order deny,allow
Deny from all
Allow from 192.168.1.6
</Directory>

Van itt egy kis bibi csak a 192.168.1.6-os ipről tudnád elérni a directory tartalmát. Valószínüleg a következő üzenetet kapod mivel csak ezt az egy ip-t engedélyezted :
[code:1:b9b03b26c4]You don't have permission to access /valami/ on this server.[/code:1:b9b03b26c4]
Engedélyez minden ip-t a következő módon.

<Directory proxy:*>
Order deny,allow
Allow from all
</Directory>