Ajuda com Apache - Redirecionamento/HTTPS/HTTP

1,032 views
Skip to first unread message

Ricardo Serro

unread,
Jul 9, 2011, 7:00:26 PM7/9/11
to tche...@googlegroups.com
Olá pessoal,

Estou usando o SonarSource <sonarsource.org> e ele roda na porta 9000 por HTTP. Não tive que configurar nada para ele funcionar, apenas executar um shell script e lá aparece ele.
Na mesma máquina tenho um servidor Apache com SSL, então deixo aberto o firewall apenas para HTTPS, nada de HTTP. O que eu estava tentando fazer é configurar o Apache para que ao receber solicitações por HTTS em /sonar (https://host/sonar) ele fizesse um "redirecionamento/proxy/nãoseicomochamar" por trás dos panos para http://localhost:9000 porém, mantendo SSL.
Tentei usar <Location> e ProxyPass mas não tive sucesso. Alguém tem ideia de como fazer isso? Pra falar a verdade, não sei nem se dá.

Abraço e obrigado,
Ricardo Serro

Sidimar Carniel

unread,
Jul 10, 2011, 9:36:40 AM7/10/11
to tche...@googlegroups.com
Ricardo,

Segue um exemplo para usar com virtualhost via mod_proxy:
ProxyRequests Off
ProxyVia Off
ProxyPreserveHost On
<Proxy *>
AddDefaultCharset off
Order deny,allow
Allow from all
</Proxy>
ProxyStatus On
ProxyPass / http://localhost:9000/
ProxyPassReverse / http://localhost:9000/
SSLProxyEngine On

No caso como queres efetuar um direcionamento direto pode usar da
seguinte forma:
Redirect / https://localhost/sonar
Lembrando que assim terá os 2 contextos configurados para responder as
requisições, sendo em http e https.

--
Atenciosamente

Sidimar Carniel

> --
> Mensagem enviada para <http://groups.google.com/group/tchelinux>.
> Regras de Conduta para o grupo: <http://tchelinux.org/regras>.
>

Ricardo Serro

unread,
Jul 10, 2011, 3:45:47 PM7/10/11
to tche...@googlegroups.com, sidi...@gmail.com
Olá Sidimar,

    O servidor está fora do ar e não consegui testar ainda, mas obrigado mesmo assim. Quando conseguir posto se deu certo ou não.

Abraço,
Ricardo Serro

Ricardo Serro

unread,
Jul 10, 2011, 4:26:10 PM7/10/11
to tche...@googlegroups.com
Olá,

Obrigado pela ajuda mas não deu certo, entretanto decidimos usar a ferramenta em nossos computadores e deixar apenas o banco no servidor, sendo assim não precisarei mais fazer isto.

Abraço,
Ricardo Serro

Alexandre Luiz dos Santos

unread,
Jul 11, 2011, 8:05:23 AM7/11/11
to tche...@googlegroups.com
Você pode fazer um redirecionamento de portas com IPTABLES !!

# iptables -t nat -A PREROUTING -d xxx.xxx.xxx.xxx -p tcp -m tcp --dport ZZ -j DNAT --to-destination yyy.yyy.yyy.yyy:zz 

Estou redirecionando a porta ZZ do ip xxx.xxx.xxx.xxx para a porta zz do ip yyy.yyy.yyy.yyy. 

ou 

iptables -t nat -A PREROUTING -d <IP> -p tcp --dport 8080 -j DNAT --to <IP>:80

Ricardo Serro

unread,
Jul 11, 2011, 1:52:18 PM7/11/11
to tche...@googlegroups.com
Olá Alexandre,

   O problema é que não quero apenas redirecionar, gostaria de manter o HTTPS do Apache, que a aplicação que comentei não tem. De qualquer forma iremos rodar a aplicação local e deixar apenas o DB no servidor, o que acaba sendo melhor em outros aspectos também.

Obrigado pela ajuda,
Abraço,
Ricardo Serro

Alexandre Luiz dos Santos

unread,
Jul 11, 2011, 2:42:04 PM7/11/11
to tche...@googlegroups.com
Ok....

Marcos Carraro

unread,
Jul 12, 2011, 7:13:42 AM7/12/11
to tche...@googlegroups.com
cara da uma olhada, eu sei que o material é do zimbra, mas tu pode ter uma outra idéia.



--
att
Marcos Carraro
marcoscarraro.blogspot.com


Em 11 de julho de 2011 15:42, Alexandre Luiz dos Santos <alexandr...@gmail.com> escreveu:
Ok....

Renato Rudnicki

unread,
Jul 12, 2011, 7:44:05 AM7/12/11
to TcheLinux
Se você não quer fazer com seu firewall você pode fazer com o modulo
re-write do apache. Da uma procurada no site do apache.

Olha esse link http://www.whoopis.com/howtos/apache-rewrite.html

esse http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html

e esse: http://forums.site5.com/showthread.php?t=7593



On Jul 12, 8:13 am, Marcos Carraro <marcos.g.carr...@gmail.com> wrote:
> cara da uma olhada, eu sei que o material é do zimbra, mas tu pode ter uma
> outra idéia.
>
> http://wiki.zimbra.com/wiki/ZimbraApache
>
> <http://wiki.zimbra.com/wiki/ZimbraApache>
> --
> att
> Marcos Carraro
> marcoscarraro.blogspot.com
>
> Em 11 de julho de 2011 15:42, Alexandre Luiz dos Santos <
> alexandrerpsan...@gmail.com> escreveu:

Ricardo Serro

unread,
Jul 12, 2011, 1:31:36 PM7/12/11
to tche...@googlegroups.com
Obrigado pessoal, mas o serviço que rodaria na porta 9000 só suporta HTTP, nada de HTTPS. Não seria apenas uma questão de redirect/rewrite de URL, por isso comentei que não sei se há como fazer.
Tentando explicar melhor:

1 - Apache recebe uma requisição X do tipo HTTPS no endereço https://host/xyz
2 - Apache transforma a requisição X de HTTPS para HTTP
3 - Apache envia a requisição X (agora em HTTP) para http://host:9000
4 - O serviço da porta 9000 responde para o Apache em HTTP
5 - O Apache transforma a resposta do serviço de HTTP para HTTPS
6 - O Apache envia a resposta em HTTPS para o usuário

Para o usuário é como se apenas as etapas 1 e 6 existissem.
O problema fica na conversão do protocolo HTTPS/HTTP/HTTPS, visto que o serviço rodando na 9000 não suporta HTTPS, ou seja, apenas redirect de URL não dá certo.
Estou apenas discutindo para aprender, não preciso mais dessa solução.

Abraço a todos,
Ricardo


drum....@gmail.com

unread,
Jul 12, 2011, 3:20:22 PM7/12/11
to tche...@googlegroups.com
Boa tarde Ricardo.

Use isto:

NameVirtualHost *:80

<VirtualHost *:80>
    ServerAdmin lucasp...@xxxxx.com.br
    DocumentRoot /var/www/html/site
    DirectoryIndex index.html index.php
    ServerName www.teste.com.br
    ErrorLog /var/log/www-error.log
    CustomLog /var/log/www-access.log common
</VirtualHost>

<VirtualHost *:80>
    ServerName www2.teste.com.br
    ServerAdmin lucasp...@xxxxx.com.br
    Redirect / http://www2.teste.com.br:9000/
    ErrorLog /var/log/httpd/webmail-error.log
   CustomLog /var/log/httpd/webmail-access.log common
</VirtualHost>


Com isto, quando você digitar: www.teste.com.br ele vai abrir na porta 80, e quando você digitar www2.teste.com.br, ele vai abrir na porta 9000.

Abraço.

Lucas


--
Mensagem enviada para <http://groups.google.com/group/tchelinux>.
Regras de Conduta para o grupo: <http://tchelinux.org/regras>.



--

Atenciosamente;

Graciously;

Lucas Possamai

http://psyscrew.posterous.com/

"Na palma da tua mão existem sonhos, felicidades e a força que te guia por um caminho, que somente você poderá trilhar, com o olhar tranquilo saberás onde chegar. O fim é apenas mais um ponto para inventar uma nova conquista."
"Nunca desvalorize ninguém... guarde cada pessoa perto do seu coração, porque um dia você pode acordar e perceber que perdeu um diamante enquanto estava muito ocupado colecionando pedras falsas".

Sidimar Carniel

unread,
Jul 12, 2011, 4:47:19 PM7/12/11
to tche...@googlegroups.com
Ricardo,

Segue conf completa como exemplo, testado e homologado:

<VirtualHost *:80>
ServerAdmin webm...@dominio.com.br
ServerName dominio.com.br
ServerAlias www.dominio.com.br


ProxyRequests Off
ProxyVia Off
ProxyPreserveHost On
<Proxy *>
AddDefaultCharset off
Order deny,allow
Allow from all
</Proxy>
ProxyStatus On

<Location /status>
SetHandler server-status
Order Deny,Allow
Allow from all
</Location>
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
ErrorLog logs/www.dominio.com.br-error_log
CustomLog logs/www.dominio.com.br-access_log common
</VirtualHost>

<VirtualHost *:443>
ServerAdmin webm...@dominio.com.br
ServerName dominio.com.br
ServerAlias www.dominio.com.br


ProxyRequests Off
ProxyVia Off
ProxyPreserveHost On
<Proxy *>
AddDefaultCharset off
Order deny,allow
Allow from all
</Proxy>
ProxyStatus On

<Location /status>
SetHandler server-status
Order Deny,Allow
Allow from all
</Location>
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
SSLProxyEngine On
SSLEngine On
SSLCertificateFile /etc/httpd/ssl/dominio.csr
SSLCertificateKeyFile /etc/httpd/ssl/dominio.key
SSLCACertificateFile /etc/httpd/ssl/dominio.pem
SSLProxyMachineCertificateFile /etc/httpd/ssl/dominio.pem
ErrorLog logs/www.dominio.com.br-error_log
CustomLog logs/www.dominio.com.br-access_log common
</VirtualHost>

Espero que isso auxilie você.

--
Atenciosamente

Sidimar Carniel

Em 12 de julho de 2011 14:31, Ricardo Serro <ricard...@gmail.com> escreveu:

Ricardo Serro

unread,
Jul 13, 2011, 11:23:50 PM7/13/11
to tche...@googlegroups.com
Ando sem tempo para testar, mas pretendo fazê-lo até sexta, dai posto os resultados. Obrigado pela força pessoal.

Abraço,
Ricardo
Reply all
Reply to author
Forward
0 new messages