Quiero instalar un certificado SSL en mi localhost en Ubuntu medio ambiente porque no puedo trabajar en el servidor de producción directamente. Me tengo que poner algunas condiciones en mi código en la base de si la página es HTTP o HTTPS.

¿Cómo puedo hacer esto?

  • Instalación de un certificado SSL no es la misma cosa como la instalación de SSL en sí. No caigas en el hábito perezoso de usar ‘SSL’ para significar ‘certificado SSL. No es la misma cosa y que sólo añade confusión y ambigüedad a su pregunta. Por favor, aclarar que se está hablando.
  • Esta pregunta es difícil de leer debido a la mala gramática. Se ha corregido dos veces, y usted rodó de nuevo dos veces. ¿Por qué usted prefiere tener una mala pregunta?
  • Primero de todo, si es difícil de leer esta pregunta ¿entonces cómo es que otros desarrolladores encontraron esta pregunta útil..?? y si eres demasiado bueno en la gramática de ir a english.stackexchange.com para responder a otros problemas. Es una cuestión técnica, con explicación muy simple y sólo tenemos la solución de no corregido gramaticalmente pregunta. Su downvotes demostrando que lo malas que son como un desarrollador.
InformationsquelleAutor Ritesh | 2014-09-20

1 Comentario

  1. 81

    Habilitar el módulo de apache, escribiendo:

    sudo a2enmod ssl
    

    Después de haber habilitado SSL, usted tendrá que reiniciar el servidor web para que el cambio sea reconocido:

    sudo service apache2 restart
    

    Vamos a empezar por crear un subdirectorio dentro de la jerarquía de configuración de Apache para colocar los archivos de certificado que vamos a hacer:

    sudo mkdir /etc/apache2/ssl
    

    Ahora que tenemos un lugar para poner nuestra clave y el certificado, se pueden crear a ambos en un solo paso escribiendo:

    sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt
    

    Las preguntas porción se ve algo como esto:

    Country Name (2 letter code) [AU]:US
    State or Province Name (full name) [Some-State]:New York
    Locality Name (eg, city) []:New York City
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:Your Company
    Organizational Unit Name (eg, section) []:Department of Kittens
    Common Name (e.g. server FQDN or YOUR name) []:your_domain.com
    Email Address []:[email protected]
    

    Abrir el archivo con privilegios de root ahora:

    sudo nano /etc/apache2/sites-available/default-ssl.conf
    

    Con los comentarios eliminados, el archivo se ve algo como esto:

    <IfModule mod_ssl.c>
        <VirtualHost _default_:443>
            ServerAdmin [email protected]
            DocumentRoot /var/www/html
            ErrorLog ${APACHE_LOG_DIR}/error.log
            CustomLog ${APACHE_LOG_DIR}/access.log combined
            SSLEngine on
            SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
            SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
            <FilesMatch "\.(cgi|shtml|phtml|php)$">
                            SSLOptions +StdEnvVars
            </FilesMatch>
            <Directory /usr/lib/cgi-bin>
                            SSLOptions +StdEnvVars
            </Directory>
            BrowserMatch "MSIE [2-6]" \
                            nokeepalive ssl-unclean-shutdown \
                            downgrade-1.0 force-response-1.0
            BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
        </VirtualHost>
    </IfModule>
    

    Al final, se verá algo como esto. Las entradas fueron modificados a partir del archivo original:

    <IfModule mod_ssl.c>
        <VirtualHost _default_:443>
            ServerAdmin [email protected]
            ServerName your_domain.com
            ServerAlias www.your_domain.com
            DocumentRoot /var/www/html
            ErrorLog ${APACHE_LOG_DIR}/error.log
            CustomLog ${APACHE_LOG_DIR}/access.log combined
            SSLEngine on
            SSLCertificateFile /etc/apache2/ssl/apache.crt
            SSLCertificateKeyFile /etc/apache2/ssl/apache.key
            <FilesMatch "\.(cgi|shtml|phtml|php)$">
                SSLOptions +StdEnvVars
            </FilesMatch>
            <Directory /var/www/html>
                SSLOptions +StdEnvVars
                DirectoryIndex index.php
                AllowOverride All
                Order allow,deny
                Allow from all
            </Directory>
            BrowserMatch "MSIE [2-6]" \
                            nokeepalive ssl-unclean-shutdown \
                            downgrade-1.0 force-response-1.0
            BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
        </VirtualHost>
    </IfModule>
    

    Guarde y cierre el archivo cuando haya terminado.
    Ahora que hemos configurado nuestra SSL habilitado host virtual, tenemos que habilitarlo.

    sudo a2ensite default-ssl.conf
    

    Tenemos que reiniciar Apache para cargar nuestro nuevo host virtual de archivo:

    sudo service apache2 restart
    

    Que es ahora ejecutar su sitio con https..!!

    • He seguido todos los pasos, pero stil recibiendo el error no se puede conectar
    • debe haber algo que te perdiste.. por favor, revise todos los ajustes mencionados en los pasos anteriores..
    • Gracias por la actualización. Tengo trabajo ahora.
    • gracias desi bhai!! realmente útil
    • El uso de openssl req -x509 es probablemente equivocado. Sus resultados en CN=www.example.com. Nombres de host de ir siempre en el SAN. Si su presente en el CN, entonces debe de estar presente en el SAN también (que tienen a la lista dos veces en este caso). Para obtener más reglas y razones, consulte ¿Cómo se puede firmar Solicitud de Firma de Certificado con su Autoridad de Certificación y Cómo crear un certificado auto-firmado con openssl? Usted también tendrá que colocar el certificado auto-firmado en el correspondiente almacén de confianza.
    • Funciona bien en ubuntu 16.10 con php7. Cuando se pide Nombre Común (por ejemplo, FQDN del servidor o SU nombre) []:localhost Dirección de Correo electrónico []:[email protected] Esto funciona para mí.
    • Si desea crear los certificados ssl para su sitio, usted puede descargar de generar certificados ssl
    • Esto termina mostrando certificate is not trusted y no funciona. Parece un problema de no ser una firma de la autoridad como dijo @jww.
    • No sé lo que los pedidos que hizo, pero funciona a la perfección aquí. Obviamente no es de confianza, sino de excepción en el navegador y hey presto.
    • Gracias, después de probar un montón de artículos esto funcionó para mí.

Dejar respuesta

Please enter your comment!
Please enter your name here