Objectivo
A adição do suporte ssl ao servidor web permite o restabelecimento de ligação seguras e encriptadas entre o servidor e o cliente. Deste modo, é possível trocar passwords, com a certeza que esta não será capturada por terceiros.
É assim possível usar as ligações seguras como base para a implementação de outros serviços como, por exemplo, um serviço webmail.
Configuração
A configuração dos sites do apache2 estão guardadas em /etc/apache2/sites-available/. Para criar o novo site com suporte ssl, copiar a definição do site por defeito para efectuar em seguida as alterações necessárias:
server:~# cd /etc/apache2/sites-available/
server:/etc/apache2/sites-available# cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl
Em seguida editar a configuração do novo site, indicando que a porta a utilizar é a 443 e quais os certificados a utilizar, que serão os que geramos previamente (Ver: 3.5. Certificados Ssl). A configuração é guardada no ficheiro /etc/apache2/sites-available/ssl:
NameVirtualHost *:443
<VirtualHost *:443>
ServerAdmin webmaster@localhost
SSLEngine on
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key.insecure
# [...]
As ligações https são feitas pela porta 443, o que deve ser indicado no ficheiro /etc/apache2/ports.conf:
Listen 80
Listen 443
Em seguida, deve ser activado o módulo ssl:
server:# a2enmod ssl
Module ssl installed; run /etc/init.d/apache2 force-reload to enable.
E o novo site também deve ser activado:
server:~# a2ensite ssl
Site ssl installed; run /etc/init.d/apache2 reload to enable.
Finalmente, reiniciar o serviço:
server:~# /etc/init.d/apache2 restart
Verificação
Num browser, inserir o endereço do servidor (https://192.168.1.100). Após o aviso sobre o certificado auto assinado, deverá aparecer uma página:
Links relacionados
- Debian Administration: Setting up an SSL server with Apache2 (http://www.debian-administration.org/articles/349)
- Apache 2.2 Documentation: SSL/TLS Strong Encryption: FAQ (http://httpd.apache.org/docs/2.2/ssl/ssl_faq.html)





















Eu já tentei correr este tutorial e nada! O Apache não aceita conexões HTTPS (443).
# netstat -ln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp6 0 0 :::80 :::* LISTEN
tcp6 0 0 :::433 :::* LISTEN
Mas não abre nada :-S
# openssl s_client -connect localhost:443 -state -debug
connect: Connection refused
connect:errno=29
não terás nenhuma regra iptables a bloquear o acesso?
eu configurei na minha rede, o ssl + apache2, tem como fazer com que abra a pagina sem digitar
https://meusite.com.br e sim http://meusite.com.br.
nao encontrei nada relacionado.
meu email rb.moc.klen|ongam#rb.moc.klen|ongam.
vlw.
A primeira parte de uma url define o protocolo a utilizar: por isso o "s" do "https" informa o teu navegador que queres estabelecer uma ligação segura, pela porta 443. Uma url sem o "s" (http) é o indicador de uma ligação normal, não segura, pela porta 80.
O mesmo acontece quando queres aceder, por exemplo, a um servidor ftp: tens que indicar uma url tipo "ftp://meusite.com.br/", para que o diálogo entre o servidor e o cliente se faça na linguagem correcta e pela via correcta (porta 21)…
Abraço,
PinguimRibeiro
o PinguimRibeiro, eu entendi o que vc falou, mais tem como eu redirecionar o acesso ha porta http para
https, assim toda vez que alguen difitar http://meusite.com.br ser redirecionado para o
https://meusite.com.br
Obrigado, se tiver como me ajudar vou ficar muito grato, e o site ta show de bola, sempre ajudando
a comunidade do linux.
O apache tem um módulo que permite reescrever as urls, de acordo com as regras que quisermos. Basta que definas que, sempre que receber uma url começada por "http", esta seja reescrita para "https".
Na prática, tens que activar o módulo rewrite e editar o ficheiro de configuração do apache:
Para activar o módulo rewrite:
Editar o ficheiro de configuração /etc/apache2/sites-available/default:
e reiniciar o apache:
Abraço,
*PinguimRibeiro
boa noite PinguimRibeiro.
eu fiz exatamente o que vc passou no topico acima, so que quando chamo a pagina
em http://meusite.com.br, nao apareçe nada, eu habilitei o modulo e inclui as linhas no meu virtual host.
vo posta aqui meu virtual host e se for possivel vc da uma olhadinha, eu to precisando muito solucionar este problema.
#NameVirtualHost 192.168.0.1
<VirtualHost 192.168.0.1>
ServerAdmin rb.moc.klen|ongam#rb.moc.klen|ongam
DocumentRoot /var/www/nelk
ServerName www.nelk.com.br
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
ServerSignature on
Alias /nelk /var/www/nelk
<Directory "/var/www/nelk/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
allow from all
AuthType Basic
AuthName "teste apache -Linux"
AuthUserFile /etc/passwords
Require valid-user
</Directory>
SSLEngine on
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key
</VirtualHost>
<IfModule mod_rewrite.c>
<IfModule mod_ssl.c>
RewriteEngine on
RewriteCond %{HTTPS} !^on$ [NC]
RewriteRule . https://%{HTTP_HOST}%{REQUEST_URI} [L]
</IfModule>
</IfModule>
vlw pinguin, abraço
Olá,
A tua configuração não está a funcionar porque as instruções para reescrever o endereço não estão dentro do bloco de configuração do teu virtualhost. Tenta assim:
Abraço
PinguimRibeiro
Iai pinguin…
eu coloquei a configuraçao desse jeito no meu apache, mais nao redireciona, so funciona se
digitar https://meudite.com.br.
ja verifiquei o meu arquivo virtualhost, o modulo ta rewrite ta habilitado.
sera que eu to fazendo algo de errado, tem outra foma de fazer esse redirecionamento.
obrigado pinguin
vlw pela atençao.
Olá
tenta usar rewrite_log para ver o que se passa:
e verifica a saida em /var/log/apache2/rewrite_log.
Boa sorte
PinguimRibeiro
pinguin,
meu arquivo de log ta normal..
a pagina web, nao precisa ter nenhum redirecionamento;
ou sera que eu preciso mexer no meu dns..
vlw se tiver mais alguma dica..
obrigado.
Caro amigo,
nao tou a conseguir configurar o ssl com o apache….
kaundo reinicio o serviço do apache aparece algum do tipo:
"Restarting Web server: apache2(98)Address already in use: make_sock: could not bind to address [ :: ] : 443
isso e normal?
e k pelo browser nao consigo aceder ao servidor