Curso de Virtual Host y SSL en Xampp
Curso de Virtual Host y SSL en Xampp
Vamos a Crear Dominios Virtuales en Xampp. y asi dejamos de usar y meter todos nuestros proyectos en la carpeta xampp\htdocs
Ahora piensa en un solo nombre de dominio que abarcará a todos tus proyectos web. Esto te servirá para probar por ejemplo las apps de Google o Facebook y no tienes que estar creando varias apps. mis apps de desarrollador en facebook apuntan a *.web.sem por lo que esta misma app de facebook lo puedo probar con todos mis proyectos y no tengo que estar creando varias apps en facebook.
En mi caso mi dominio virtual de pruebas es:
web.sem
de modo que mis proyectos formarán parte de sus subdominios. Ejemplo.
proyecto.web.sem
biblioteca.web.sem
otro.web.sem
Vamos a desarrollar un Ejercicio:
- 1.- Crear una pagina web y guardarlo en: E:\html_public\proyecto\
- 2.- Crear y Administrar Dominios Virtuales.
- 3.- Crear y Autofirmar Certificados SSL.
- 4.- Instalar Certificados SSL
- 5.- Acceder a la Página con la siguiente Dirección: proyecto.web.sem con protocolos http: y https:
Desarrollaremos este ejercicio en los siguientes videos.
Ayudas:
Archivo de httpd-vhosts.conf de Xampp
Autorizar La Carpeta Personalizada.
<Directory "E:/html_public"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Require all granted </Directory>
Crear virtualhost http://proyecto.web.sem
<VirtualHost proyecto.web.sem:80> ServerName proyecto.web.sem DocumentRoot "E:/html_public/proyecto" </VirtualHost>
Crear virtualhost SSL https://proyecto.web.sem
<VirtualHost proyecto.web.sem:443> ServerName proyecto.web.sem DocumentRoot "E:/html_public/proyecto" SSLEngine on SSLCertificateFile "C:/xampp/apache/conf/certificados/websem.crt" SSLCertificateKeyFile "C:/xampp/apache/conf/certificados/websem.key" </VirtualHost>
CREAR Y AUTOFIRMAR CERTIFICADO SSL
Consola de Windows Modo Administrador
cd C:\xampp\apache\conf\certificados openssl req -new -nodes -keyout websem.key -out websem.csr -days 365 openssl x509 -req -days 365 -in websem.csr -signkey websem.key -out websem.crt
ACTUALIZACIÖN: los codigos anteriores generan certificados V1 y los navegadores actuales ya no los admiten. Para poder autofirmar un certificado V3 con todos los datos requeridos por los navegadores actuales (subjectAltName es un dato obligatorio que solo ver en la V3 de los certificados), debemos crear un archivo de configuración personalizada y luego crear y autofirmar añadiendo el parametro -config C:/xampp/apache/conf/certificados/crear.conf
codigo para el archivo: C:/xampp/apache/conf/certificados/crear.conf (recuerda cambiar los datos por los tuyos)
[ca] copy_extensions = copy [req] prompt = no default_bits = 2048 default_keyfile = websem.key encrypt_key = no distinguished_name = req_distinguished_name string_mask = utf8only req_extensions = v3_req x509_extensions = v3_ca [v3_ca] subjectAltName = @alternate_names keyUsage = digitalSignature, keyEncipherment [req_distinguished_name] C=PE ST=Arequipa L=Arequipa O=Sem Soft Peru OU=WebSite Developers CN=*.web.sem emailAddress=semsof@semsoft-peru.com [v3_req] basicConstraints = CA:FALSE keyUsage = nonRepudiation, digitalSignature, keyEncipherment [alternate_names] DNS.1 = www.web.sem DNS.2 = test.web.sem #DNS.3 = añadir todos los que desees
Como podrás notar los datos que ingresabamos manualmente al momento de solicitar la petición lo hemos ingresado en este archivo personalizado por lo tanto ahora no te pedirá ningún dato y ejecutará mas rapido.
// en cmd navegar hasta la carpeta donde desees crear los certificados. //cd C:/xampp/apache/conf/certificados openssl req -out websem.csr -newkey rsa:2048 -nodes -keyout websem.key -config C:/xampp/apache/conf/certificados/crear.conf openssl req -new -x509 -key websem.key -sha256 -out websem.crt -days 365 -config C:/xampp/apache/conf/certificados/crear.conf openssl x509 -in websem.crt -text -noout
Invítame un Café
Si nuestros tutoriales te ayudaron una manera de dar gracias es apoyándonos. Esto nos permitirá seguir publicando mas tutoriales.