Estou tentando fazer com que o SSL seja executado no meu servidor web apache.
Eu não tenho o DNS para a configuração do domínio, mas isso é um problema?
Como configuro o SSL no meu servidor web?
Quando começo o apache, ele falha.
root@vannevar:/etc/apache2/ssl# service apache2 start
* Starting web server apache2 Action 'start' failed.
The Apache error log may have more information.
As estatísticas de log que não conseguem ler o certificado.
[Thu Jun 28 15:01:02 2012] [error] Init: Unable to read server certificate from file /etc/apache2/ssl/www.example.com.csr
[Thu Jun 28 15:01:02 2012] [error] SSL Library Error: 218529960 error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Thu Jun 28 15:01:02 2012] [error] SSL Library Error: 218595386 error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error
O conteúdo de /etc/apache2/httpd.conf
ServerName [SERVERIP]
O conteúdo de /etc/apache2/ports.conf
# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default
# This is also true if you have upgraded from before 2.2.9-3 (i.e. from
# Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
# README.Debian.gz
NameVirtualHost [SERVERIP]:443
NameVirtualHost *:80
Listen 80
<IfModule mod_ssl.c>
# If you add NameVirtualHost *:443 here, you will also have to change
# the VirtualHost statement in /etc/apache2/sites-available/default-ssl
# to <VirtualHost *:443>
# Server Name Indication for SSL named virtual hosts is currently not
# supported by MSIE on Windows XP.
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
O conteúdo de /etc/apache2/sites-available/www.example.com
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName example.com
ServerAlias www.example.com
DocumentRoot /srv/sites/example.com/public/
ErrorLog /srv/sites/example.com/logs/error.log
CustomLog /srv/sites/example.com/logs/access.log combined
</VirtualHost>
<VirtualHost [SERVERIP]:443>
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/www.example.com.csr
SSLCertificateKeyFile /etc/apache2/ssl/www.example.com.key
SSLCACertificateFile /etc/apache2/ssl/comodo.crt
ServerAdmin [email protected]
ServerName example.com
ServerAlias www.example.com
DocumentRoot /srv/sites/example.com/public/
ErrorLog /srv/sites/example.com/logs/error.log
CustomLog /srv/sites/example.com/logs/access.log combined
</VirtualHost>
ATUALIZAÇÃO:
No dreamhost (do qual estou tentando sair), eu já tenho um domínio com ssl / https. Posso ver as três chaves no certificado de administrador do dreamhost, chave privada e certificado intermediário. Posso fazer algo com isso? Eu posso ver que dreamhost está usando comodo e meu site diz que seu PositiveSSL então ... no site da comodo há
o certificado raiz e certificado intermediário . O que esses cinco certificados têm a ver com os dois criados pelo comando openssl req -new -days 365 -nodes -keyout www.mydomain.com.key -out www.mydomain.com.csr
? Esses dois estão solicitando o certificado real?
Percebi que o erro do apache está se referindo ao arquivo /etc/apache2/sites-available/www.example/com
onde eu estraguei o tipo de arquivo para SSLCertificateFile /etc/apache2/ssl/www.example.com.csr
, ele deveria ser .crt
de acordo com o linode docs
Atualização 2
Então entrei no dreamhost e copiei as chaves para os seguintes arquivos e mapeei o seguinte
certificate => dh.crt
private key => dh.key
intermediate certificate => dh.cer
alterou a conexão em /sites-available/example.com
e funcionou (o apache funcionou). Isso significa que o ssl funcionará quando eu conectar meu domínio?