Respuestas:
Apache2 lo hace muy fácil con las herramientas adicionales que se incluyen con él. Si tiene instalado el paquete apache2-common, puede habilitar el mod_ssl
Módulo (requerido para HTTPS) en un comando fácil:
sudo a2enmod ssl
Apache2 también incluye un comando para ayudarlo a generar fácilmente certificados autofirmados llamados apache2-ssl-certificate
. Genere su certificado para el servidor como se muestra a continuación o utilice certificados comprados a través de una CA raíz confiable (Verisign, Entrust, Thawte, etc.).
sudo apache2-ssl-certificate -days 365
Tenga en cuenta que los usuarios recibirán esta advertencia infame al ver su sitio si utiliza un certificado autofirmado:
Use las siguientes 4 declaraciones en su configuración de Apache ( /etc/apache2/sites-available/default
) o directiva VirtualHost (abajo DocumentRoot
) para activar el motor SSL para ese sitio en particular:
SSLEngine on
SSLOptions +StrictRequire
SSLCertificateFile /etc/apache2/ssl/certs/apache.crt
SSLCertificateKeyFile /etc/apache2/apache-ssl/apache.pem
los SSLOptions +StrictRequire
fuerza la comunicación SSL solo para ese sitio en particular. los SSLCertificateFile
y SSLCertificateKeyFile
Especifique las ubicaciones de su certificado SSL y su clave correspondiente.
Asegúrese de que estamos escuchando en el puerto 443 modificando /etc/apache2/ports.conf
para incluir el Listen
directiva:
echo "Listen 443" >> /etc/apache2/ports.conf
Finalmente debes reiniciar Apache2 para iniciar los cambios:
sudo /etc/init.d/apache2 restart
Diversión adicional :
Configure las solicitudes HTTP en el puerto 80 para redirigir al puerto 443 con mod_rewrite
.
Nota :
Algunos de estos datos provienen de la experiencia pasada con los sistemas Debian / Ubuntu, para obtener las instrucciones más precisas, hay una guía para 10.04 en el sitio web de Ubuntu .
No te estoy diciendo cómo para hacer esto, está más allá del alcance de este foro, OMI. (1) . Solo estoy diciendo qué Creo que puedes hacer.
Realmente no hay una fácil manera de hacer esto. Realmente tienes que saber un poco sobre la configuración de apache y profundizar en los archivos de configuración. Además de eso necesitas un Certificado SSL
La forma más fácil sería decirle a su servidor web que deje de escuchar el puerto 80 (2) y solo escuchar el puerto 443. Una mejor solución sería tener apache redirigir todas las conexiones al puerto 80 al puerto 443
(1) Y más allá de mi experiencia
(2) O bloquea el puerto 80 en tu firewall