Amigos;

Estou analisando como implementar um servidor web com apache2 em um servidor
Fedora. O servidor ira rodar pagina https.
Ja instalei o Apache 2.2.4 e o openssl 0.97m, ambos compilados, instalados e
funcionando perfeitamente.
Ja adquiri um certificado digital "free" para testes, e o mesmo esta
convenientemente instalado no servidor, de modo que quando acesso
http://10.200.1.242 aparece a pagina de boas vindas do apache, e quando acesso
https://10.200.1.242 aparece o pedido de instalacao do certificado digital.
Muito bem.

Porem, preciso que quando a pessoa digitar no browser http://ip ele seja
automaticamente direcionado para https://ip.
Pesquisei e vi que deveria ativar o mod_rewrite no meu apache, o que foi feito
atravez de nova compilacao do mesmo.
Dando um httpd -l, surge a lista de modulos "built-in" do meu apache, que é que
segue:

New-Matrix /#httpd -l
Compiled in modules:
  core.c
  mod_authn_file.c
  mod_authn_default.c
  mod_authz_host.c
  mod_authz_groupfile.c
  mod_authz_user.c
  mod_authz_default.c
  mod_auth_basic.c
  mod_include.c
  mod_filter.c
  mod_log_config.c
  mod_env.c
  mod_setenvif.c
  mod_ssl.c
  prefork.c
  http_core.c
  mod_mime.c
  mod_status.c
  mod_autoindex.c
  mod_asis.c
  mod_cgi.c
  mod_negotiation.c
  mod_dir.c
  mod_actions.c
  mod_userdir.c
  mod_alias.c
  mod_rewrite.c
  mod_so.c
New-Matrix /#

Dentro do meu httpd.conf encontra-se a seguinte secao virtualhost:

<VirtualHost 10.200.1.242>

        #   General setup for the virtual host
        DocumentRoot "/usr/local/apache2/htdocs"
        ServerName 10.200.1.242
        ServerAdmin [EMAIL PROTECTED]
        ErrorLog /usr/local/apache2/logs/error_log
        TransferLog /usr/local/apache2/logs/access_log
        RewriteLogLevel 4
        SSLEngine on

        RewriteEngine On
        RewriteCond %{SERVER_PORT}  !^443$
        RewriteRule (.*)            https://%{SERVER_NAME}$1 [L,R]
SSLCipherSuite HIGH:MEDIUM
SSLCertificateFile /usr/local/apache2/conf/teste.crt
SSLCertificateKeyFile /usr/local/apache2/conf/teste.key
<FilesMatch "\.(cgi|shtml|phtml|php)$">
    SSLOptions +StdEnvVars
</FilesMatch>
<Directory "/usr/local/apache2/cgi-bin">
    SSLOptions +StdEnvVars
</Directory>
BrowserMatch ".*MSIE.*" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0
CustomLog /usr/local/apache2/logs/ssl_request_log \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

</VirtualHost>

Quando vou ao browser e digito http://10.200.1.242 o resultado é o seguinte:

Bad Request

Your browser sent a request that this server could not understand.
Reason: You're speaking plain HTTP to an SSL-enabled server port.
Instead use the HTTPS scheme to access this URL, please.

    Hint: https://10.200.1.242/

Se eu clicar no link que ele sugere como Hint, funciona normalmente.
Nao é isso que eu quero... quero que seja transparente para o usuario esse
redirecionamento.

O que estou fazendo de errado?? O que pode estar faltando?
Peço ajuda aos demais colegas!!!

Grande abraco a todos!

Carlos Pala



___________________________________________________________________________________
Para fazer uma ligação DDD pra perto ou pra longe, faz um 21. A Embratel tem
tarifas muito baratas esperando por você. Aproveite!

---------------------------------------------------------------------------
Esta lista é patrocinada pela Conectiva S.A. Visite http://www.conectiva.com.br

Arquivo: http://bazar2.conectiva.com.br/mailman/listinfo/linux-br
Regras de utilização da lista: http://linux-br.conectiva.com.br
FAQ: http://www.zago.eti.br/menu.html

Responder a