renato_pacheco
(usa Debian)
Enviado em 26/02/2010 - 09:22h
A 1ª questão vc faz por DNAT, através do iptables, dessa forma:
# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8080 -j DNAT --to-destination ip.do.tomcat:80
A 2ª questão vc deve fazer através d virtual host no apache. Como é ubuntu, existe um diretório chamado /etc/httpd/conf.d. Dentro dele vc pode criar a config q vc quiser q o Apache irá carregar. Vc pode desde permitir quem vc quiser q entre na pasta quanto fazer redirecionamentos pra outra máquina. Ex.:
Para permitir apenas q o cidadão acesse aquela determinada pasta:
########################################################################
<VirtualHost *:80>
ServerName
www.benigno.com.br
DocumentRoot /var/www/intranet
<Directory />
Options Indexes FollowSymLinks
DirectoryIndex index.html index.php
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/httpd/apache-error.log
CustomLog /var/log/httpd/apache-access.log common
</VirtualHost>
##################################################################
Para q o usuário visualize o q vc quiser, basta alterar as permissões dos arquivos, não permitindo q o usuário apache tenha acesso (chmod e chown).
Para fazer redirecionamento, segue o exemplo:
##################################################################
<VirtualHost *:80>
servername
www.benigno.com.br
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{SERVER_PORT} !^8080$
RewriteLog /var/log/httpd/ead-rewrite.log
RewriteRule ^/(.*) http://
www.benigno.com.br:%{SERVER_PORT}/$1 [P]
RewriteRule ^(.*)$ http://
www.benigno.com.br/intranet [R]
ServerSignature off
CustomLog /var/log/httpd/ead-access.log combined
ErrorLog /var/log/httpd/ead-error.log
</VirtualHost>
##############################################################################
Nesse exemplo, além d vc poder esconder a porta q deseja, vc redireciona o acesso ao site pra pasta q desejas.