la primera vez que se configura ssl, los tutoriales no han sido demasiado útiles

Esta es la primera vez que bash configurar un ssl para un sitio y lo estoy ejecutando en un server que tiene otros 3 sitios alojados.

Estoy ejecutando apache2. ?? y la installation viene con una página ssl.conf.

El file ssl.conf tiene la siguiente configuration

 LoadModule ssl_module modules / mod_ssl.so
 Escuchar 443
 Aplicación AddType / x-x509-ca-cert .crt
 Aplicación AddType / x-pkcs7-crl .crl

 <VirtualHost *: 443>
     ServerAdmin me@securesite.com
     DocumentRoot / var / www / html / securesite
     ServerName securesite.com
     ErrorLog registra / securesite-error_log
     Logs de CustomLog / securesite-access_log común
     SSLEngine en
     SSLCertificateFile /etc/httpd/ssl.crt/securesite.com.crt
     SSLCertificateKeyFile /etc/httpd/ssl.key/server.key
     SSLCertificateChainFile /etc/httpd/ssl.crt/gd_bundle.crt
 </ VirtualHost>

Cuando ejecuto 'apachectl configtest', no obtengo ningún error, pero ejecutando 'apachectl -k restart', obtengo 'httpd no corriendo, intentando iniciar'.

Tengo dos preguntas

1) ¿Hay un error en la forma en que estoy definiendo mi virtualhost para 443 ?? el rest de mis inputs apuntan a <VirtualHost *: 80>. Cuando comento la input anterior, apache funciona bien.

2) ¿necesito configurar una networkingirección desde el puerto 80 para un sitio seguro? Porque la mayoría de los usuarios van a ir a http: o www. , y necesito enviarlos a https: ¿apache hace esto automáticamente? o necesito crear una input con un redirect?

¿Ha comprobado los posts de error en el logging http?

Trate de comentar SSLCertificateChainFile y ver si eso ayuda. Puedo ejecutar una gran cantidad de ssl habilitado sitios y nunca he tenido que utilizar ese file.

Configure su propio certificate firmado automáticamente para probarlo si aún no lo ha hecho. http://www.akadia.com/services/ssh_test_certificate.html

Si está ejecutando securesite.com en ambos puertos 80 y 443, entonces sí, tendrá que hacer algún tipo de networkingirección si desea forzar a los clientes a https. Puede utilizar un file .htaccess para dirigir ciertas páginas, directorys o todo el sitio con https.

Si tengo un server limpio necesito instalar SSL en estos son los pasos que normalmente tomo.

Primero, edito SSLCipherSuite y SSLProtocol en /etc/httpd/conf.d/ssl.conf para endurecer la installation un poco.

/etc/httpd/conf.d/ssl.conf

SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM SSLProtocol -ALL +SSLv3 +TLSv1 

Luego creo las carpetas /etc/httpd/conf/ssl.crt, /etc/httpd/conf/ssl.key, /etc/httpd/conf/ssl.csr. Usted podría también poner estos en la carpeta existente / etc / pki / tls, pero me gusta mantener mi website cosas separadas de cualquier otra cosa de CA que puede estar pasando en el server. Puse la llave y el certificate y opcionalmente el csr en las carpetas que creé. Si hay algún certificate intermedio, lo encadenaré en un file y lo pondré en la carpeta /etc/httpd/conf/ssl.crt como intermediario.pem.

Normalmente mantengo la configuration de cada host virtual en su propio file en /etc/httpd/conf.d/vhosts/. (asegúrese de que su configuration principal de apache está configurada para leer en cualquier file * .conf de esta carpeta). Así que puedo tener un file llamado /etc/httpd/conf.d/vhosts/www.mysite.com.conf. Este file contendrá dos directivas, una para el puerto 80 y otra para el puerto 443. Si quiero que todos usen SSL, podrías hacer una mod-reescritura como en este ejemplo.

/etc/httpd/conf.d/vhosts/www.mysite.com.conf

 [VirtualHost 192.168.0.1:80] ServerName www.mysite.com ServerAlias mysite.com RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [/VirtualHost] [VirtualHost 192.168.0.1:443] ServerName www.mysite.com ServerAlias mysite.com DocumentRoot /var/www/vhosts/www.mysite.com/httpdocs SSLEngine on SSLVerifyClient none SSLCertificateFile /etc/httpd/conf/ssl.crt/www.mysite.com.crt SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key SSLCACertificateFile /etc/httpd/conf/ssl.crt/intermediate.pem ErrorLog /var/log/vhosts/www.mysite.com-error_log CustomLog /var/log/vhosts/www.mysite.com-access_log common [/VirtualHost] 

Reemplazar el [] 's con <>' s incluso en pre tags que estaba tratando de leerlos como html y no mostrar correctamente.

Así que directamente a sus preguntas:

1) Nunca he visto o utilizado SSLCertificateChainFile Im asumiendo su el package de certificate intermedio que utilizaría SSLCACertificateFIle para.

2) Si desea obligar a todos a HTTPS tendrá que hacer un redirect o una mod-reescribir. Apache estará encantado de recibir contenido HTTP y HTTPS al mismo time y para la mayoría de la gente esto es lo que quieren. Puede ser un gran PITA para get todos los resources externos que tire en su sitio para ser HTTPS que lanzará posts de advertencia a sus usuarios si utiliza HTTPS en decir su página de inicio. Si esto no es un problema para usted, sin embargo, por todos los medios utilizar HTTPS en todas partes.