Si está utilizando apache2, debe hacer lo siguiente:
Paso 1: utilice OpenSSL para generar las claves que se utilizan para proteger su sitio. Estas claves se utilizan al cifrar y descifrar el tráfico a su sitio seguro.
$ openssl genrsa -out mydomain.key 1024
Este comando creará una clave privada de 1024 bits y la colocará en el archivo mydomain.key.
Las primeras tres líneas no son necesarias. 1. NameVirtualHostestá en desuso y se eliminará en futuras versiones de Apache. Actualmente ya es un no-op. 2. Listen 443puede causar problemas si apache ya está configurado para escuchar en el puerto 443, que en muchas distribuciones de Linux ya es el caso. Solo agregue si está seguro de que esta línea no está configurada en otro lugar.
lanoxx
3
No cambies Listen 80a 443adentro /etc/httpd/conf/httpd.conf. SSL está configurado en /etc/httpd/conf.d/ssl.conf. En RHEL 6, SSL está habilitado y escucha de forma predeterminada con un certificado autofirmado.
Puede acceder al sitio predeterminado utilizando SSL simplemente navegando https://localhost(no necesita agregar el puerto al final de la URL).
Si desea reenviar todas las solicitudes HTTP a HTTPS (que es lo que creo que está tratando de lograr), puede agregar una redirección permanente o usar el módulo Apache mod_rewrite.
La forma más fácil y segura es configurar una redirección permanente. Habilite hosts virtuales con nombre y agregue una Redirectdirectiva al VirtualHost en /etc/httpd/conf/httpd.conf.
Utilizando mod_rewrite, también crea un host virtual con nombre. Este no es el método recomendado, pero funcionará.
NameVirtualHost *:80
<VirtualHost *:80>
# Enable the Rewrite engine
RewriteEngine On
# Make sure the connection is not already HTTPS
RewriteCond %{HTTPS} !=on
# This rewrites the URL and forwards to https
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
</VirtualHost>
Si desea desactivar SSL, comente estas líneas /etc/httpd/conf.d/ssl.confy reinicie Apache.
En realidad, si agrega el paquete mod_ssl para RHEL6, crea un /etc/httpd/conf.d/ssl.conf, que carga el módulo y configura <VirtualHost _default_:443>, con todos los parámetros necesarios, cada uno con comentarios. El mod_sslpaquete no se instala automáticamente si instaló el httpdpaquete.
jsbillings
1
Me gustaría agregar solo una cosa a su reescritura: use en [R=301,L]lugar de solo [R,L], de esta manera la reescritura está usando la opción permanente de los códigos de estado HTTP 3xx .
NameVirtualHost
está en desuso y se eliminará en futuras versiones de Apache. Actualmente ya es un no-op. 2.Listen 443
puede causar problemas si apache ya está configurado para escuchar en el puerto 443, que en muchas distribuciones de Linux ya es el caso. Solo agregue si está seguro de que esta línea no está configurada en otro lugar.No cambies
Listen 80
a443
adentro/etc/httpd/conf/httpd.conf
. SSL está configurado en/etc/httpd/conf.d/ssl.conf
. En RHEL 6, SSL está habilitado y escucha de forma predeterminada con un certificado autofirmado.Puede acceder al sitio predeterminado utilizando SSL simplemente navegando
https://localhost
(no necesita agregar el puerto al final de la URL).Si desea reenviar todas las solicitudes HTTP a HTTPS (que es lo que creo que está tratando de lograr), puede agregar una redirección permanente o usar el módulo Apache
mod_rewrite
.La forma más fácil y segura es configurar una redirección permanente. Habilite hosts virtuales con nombre y agregue una
Redirect
directiva al VirtualHost en/etc/httpd/conf/httpd.conf
.Utilizando
mod_rewrite
, también crea un host virtual con nombre. Este no es el método recomendado, pero funcionará.Si desea desactivar SSL, comente estas líneas
/etc/httpd/conf.d/ssl.conf
y reinicie Apache.fuente
<VirtualHost _default_:443>
, con todos los parámetros necesarios, cada uno con comentarios. Elmod_ssl
paquete no se instala automáticamente si instaló elhttpd
paquete.[R=301,L]
lugar de solo[R,L]
, de esta manera la reescritura está usando la opción permanente de los códigos de estado HTTP 3xx .