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??
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
Az apache proxy modulját tanácsolnám :
http://httpd.apache.org/docs/1.3/mod/mod_proxy.html
Lődd be a külső ip címmel rendelkező web szerveren, és azt a pár virtuális domain-re érkező kérést irányítsd át (reverse v. forward proxy).
- A hozzászóláshoz be kell jelentkezni
[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.
- A hozzászóláshoz be kell jelentkezni
Az apache mod proxy a gyógyír a te bajodra.
http://httpd.apache.org/docs/1.3/mod/mod_proxy.html
- A hozzászóláshoz be kell jelentkezni
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>
- A hozzászóláshoz be kell jelentkezni
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
- A hozzászóláshoz be kell jelentkezni
Bocs de nem azt akarom. A benti webeimet kivulrol is lehessen elerni.
- A hozzászóláshoz be kell jelentkezni
<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>
- A hozzászóláshoz be kell jelentkezni