Direcionar http para https
Boa tarde,
Bom eu tenho instalado em meu servidor o red hat el 4, apache e outros pacotes, mas meu problema é outro, tenho um cenário onde hoje eu tenho 4 paginas, sendo que tenho um site principal, www.meusite.com.br/pag, as outras 3 ficam da seguinte forma, www.meusite.com.br/pag1, www.meusite.com.br/pag2, www.meusite.com.br/pag3, sendo que a primeira foi desenvolvida em FLEX, a segunda e terceira em java e a quarta em PHP, tenho certificado digital, então o que eu quero é direcionar todas as paginas quando eu digitar www.meusite.com.br/pag, ou /pag1, ou /pag2 e /pag3, que direcione direto para https://meusite.com.br/pag, https://meusite.com.br/pag1, https://meusite.com.br/pag2 e https://meusite.com.br/pag3, alguem sabe me dizer como fazer isso, abaixo segue como esta hoje o meu vhosts.conf, só lembrando que a /pag3 é PHP, por isso não aparece no JkMount.
<VirtualHost *:80 >
DocumentRoot /eu/meusite
ServerName www.meusite.com.br
ServerAdmin [email protected]
ErrorLog /var/www/meusite/logs/error.log
CustomLog /var/www/meusite/logs/access.log combined
JkMount /remote site
JkMount /remote/* site
JkMount /mapas site
JkMount /mapas/* site
JkMount /pag site
JkMount /pag/* site
JkMount /pag1 site
JkMount /pag1/* site
JkMount /pag2 siteh
JkMount /pag2/* siteh
RewriteEngine on
RewriteRule ^/$ https://www.meusite.com.br/pag [R]
</VirtualHost>
<VirtualHost *:443>
DocumentRoot /eu/meusite
ServerName www.meusite.com.br
ServerAdmin [email protected]
ErrorLog /var/www/meusite/logs/error.log
CustomLog /var/www/meusite/logs/access.log combined
JkMount /remote site
JkMount /remote/* site
JkMount /mapas site
JkMount /mapas/* site
JkMount /pag site
JkMount /pag/* site
JkMount /pag1 site
JkMount /pag1/* site
JkMount /pag2 siteh
JkMount /pag2/* siteh
RewriteEngine on
RewriteRule ^/$ https://www.meusite.com.br/pag [R]
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
LogLevel warn
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
SSLCertificateFile /etc/httpd/keys/www.meusite.com.br-2009.crt
SSLCACertificateFile /etc/httpd/keys/www.meusite.com.br-2009.middle
SSLCertificateKeyFile /etc/httpd/keys/www.meusite.com.br-2009.key
<Files ~ "\.(cgi|shtml|phtml|php3?)$">
SSLOptions +StdEnvVars
</Files>
<Directory "/var/www/cgi-bin">
SSLOptions +StdEnvVars
</Directory>
SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
CustomLog logs/ssl_request_log \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
Desde já agradeço muito a ajuda,
Luiz Dartora.
Direcionar http para https
Pedro,
Ao fazer dessa forma abaixo:
RewriteEngine On
RewriteCond %{HTTPS} != on
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]
Aparece a seguinte mensagem:
Starting httpd: Syntax error on line 22 of /etc/httpd/conf.d/vhosts.conf:
RewriteCond: bad flag delimiters
E da outra forma:
<VirtualHost *:80>
# coisas
Redirect / https://meu.site.seguro.com/
# mais coisas
</VirtualHost>
Ao digitar www.meusite.com.br não direciona para minha pagina, nenhuma delas.
Desde já muito obrigado,
Luiz Dartora.
Direcionar http para https
Pedro,
Fica então dessa forma:
<VirtualHost *:80 >
DocumentRoot /eu/meusite/
ServerName www.meusite.com.br
ServerAdmin [email protected]
ErrorLog /var/www/sol/logs/error.log
CustomLog /var/www/sol/logs/access.log combined
RewriteEngine On
RewriteCond %{HTTPS} != off
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]
</VirtualHost>
<VirtualHost *:443>
DocumentRoot /eu/meusite/
ServerName www.meusite.com.br
ServerAdmin [email protected]
ErrorLog /var/www/sol/logs/error.log
CustomLog /var/www/sol/logs/access.log combined
RewriteEngine On
RewriteCond %{HTTPS} != on
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]
Eu só posso testar amanhã pela manhã, pois não posso parar o serviço agora, assim amanhã te aviso como ficou.
Mas novamente muito obrigado,
Luiz Dartora.
Direcionar http para https.
Pedro,
Bom dia, voltou a dar o mesmo erro, veja abaixo:
service httpd restart
Stopping httpd: [FAILED]
Starting httpd: Syntax error on line 20 of /etc/httpd/conf.d/vhosts.conf:
RewriteCond: bad flag delimiters
Fiz da forma que você indicou, mas não estou tendo sucesso,
Luiz Dartora.
Direcionar http para https.
Tem essa informação na linha 20.
RewriteCond %{HTTPS} != off
Luiz Dartora.
Direcionar http para https.
Pedro,
Eu tenho em ambas as portas, então na 443 não é necessário essas linhas? Como você pode ver abaixo:
<VirtualHost *:80 >
DocumentRoot /eu/meusite
ServerName www.meusite.com.br
ServerAdmin [email protected]
ErrorLog /var/www/meusite/logs/error.log
CustomLog /var/www/meusite/logs/access.log combined
JkMount /remote site
JkMount /remote/* site
JkMount /mapas site
JkMount /mapas/* site
JkMount /pag site
JkMount /pag/* site
JkMount /pag1 site
JkMount /pag1/* site
JkMount /pag2 siteh
JkMount /pag2/* siteh
RewriteEngine On
RewriteCond %{HTTPS} != off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>
<VirtualHost *:443>
DocumentRoot /eu/meusite
ServerName www.meusite.com.br
ServerAdmin [email protected]
ErrorLog /var/www/meusite/logs/error.log
CustomLog /var/www/meusite/logs/access.log combined
JkMount /remote site
JkMount /remote/* site
JkMount /mapas site
JkMount /mapas/* site
JkMount /pag site
JkMount /pag/* site
JkMount /pag1 site
JkMount /pag1/* site
JkMount /pag2 siteh
JkMount /pag2/* siteh
RewriteEngine On
RewriteCond %{HTTPS} != on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Luiz Dartora.