Nginx local ssl
This commit is contained in:
18
NginxLocalSSL/conf/default.conf
Normal file
18
NginxLocalSSL/conf/default.conf
Normal file
@@ -0,0 +1,18 @@
|
||||
server {
|
||||
listen 80;
|
||||
server_name yourdomain.com www.yourdomain.com;
|
||||
return 301 https://$server_name$request_uri; # Redirige HTTP a HTTPS
|
||||
}
|
||||
|
||||
server {
|
||||
listen 443 ssl;
|
||||
server_name yourdomain.com www.yourdomain.com;
|
||||
|
||||
ssl_certificate /etc/nginx/ssl/cert.pem; # Ruta al certificado dentro del contenedor
|
||||
ssl_certificate_key /etc/nginx/ssl/localserver.key; # Ruta a la clave privada dentro del contenedor
|
||||
|
||||
location / {
|
||||
root /usr/share/nginx/html;
|
||||
index index.html index.htm;
|
||||
}
|
||||
}
|
||||
13
NginxLocalSSL/docker-compose.yml
Normal file
13
NginxLocalSSL/docker-compose.yml
Normal file
@@ -0,0 +1,13 @@
|
||||
version: '3.8'
|
||||
services:
|
||||
nginx:
|
||||
image: nginx:latest
|
||||
container_name: nginx-local
|
||||
ports:
|
||||
- "16080:80"
|
||||
- "16443:443"
|
||||
volumes:
|
||||
- ./html:/usr/share/nginx/html
|
||||
- ./conf:/etc/nginx/conf.d
|
||||
- ./ssl:/etc/nginx/ssl
|
||||
restart: unless-stopped
|
||||
BIN
NginxLocalSSL/html/images/jpg1.jpg
Normal file
BIN
NginxLocalSSL/html/images/jpg1.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 110 KiB |
BIN
NginxLocalSSL/html/images/webp1.webp
Normal file
BIN
NginxLocalSSL/html/images/webp1.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
13
NginxLocalSSL/html/index.html
Normal file
13
NginxLocalSSL/html/index.html
Normal file
@@ -0,0 +1,13 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title></title>
|
||||
<link href="style.css" rel="stylesheet" />
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<h1>HOLA CARA COLA</h1>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
4
NginxLocalSSL/readme.md
Normal file
4
NginxLocalSSL/readme.md
Normal file
@@ -0,0 +1,4 @@
|
||||
Local Nginx with SSL
|
||||
|
||||
|
||||
continue in ./ssl/howTo.txt
|
||||
49
NginxLocalSSL/ssl/howTo.txt
Normal file
49
NginxLocalSSL/ssl/howTo.txt
Normal file
@@ -0,0 +1,49 @@
|
||||
Crear el Certificado Autofirmado
|
||||
|
||||
Abrir PowerShell como Administrador: Busca PowerShell en el menú de inicio, haz clic derecho sobre él y selecciona "Ejecutar como administrador".
|
||||
|
||||
Crear el Certificado: Usa el siguiente comando en PowerShell para crear un certificado autofirmado. Cambia yourdomain.com por el nombre de dominio que estés usando localmente (puede ser un dominio ficticio para propósitos de desarrollo).
|
||||
|
||||
powershell
|
||||
|
||||
New-SelfSignedCertificate -DnsName yourdomain.com, www.yourdomain.com -CertStoreLocation cert:\LocalMachine\My
|
||||
|
||||
Anota el Thumbprint del certificado creado, lo necesitarás después.
|
||||
|
||||
Exportar el Certificado: Primero, debes exportar el certificado a un archivo .pfx con una contraseña.
|
||||
|
||||
Ve a Administrador de certificados (puedes buscarlo y abrirlo desde el menú de inicio).
|
||||
En Certificados - Local Computer, encuentra tu certificado bajo Personal -> Certificates.
|
||||
Haz clic derecho en tu certificado -> All Tasks -> Export....
|
||||
Sigue el asistente, asegúrate de marcar la opción Yes, export the private key.
|
||||
Establece una contraseña para el certificado cuando se te solicite.
|
||||
Guarda el archivo .pfx exportado en tu directorio deseado.
|
||||
|
||||
Convertir .pfx a .crt y .key: Necesitarás OpenSSL para convertir el archivo .pfx a los formatos .crt y .key que Nginx puede usar. OpenSSL viene preinstalado en muchos sistemas operativos, pero si estás en Windows, es posible que necesites descargarlo de openssl.org.
|
||||
|
||||
Abre una terminal donde tengas OpenSSL disponible y ejecuta los siguientes comandos, reemplazando mycert.pfx con la ruta de tu archivo .pfx y mypassword con la contraseña que usaste al exportar el certificado.
|
||||
|
||||
bash
|
||||
|
||||
openssl pkcs12 -in mycert.pfx -nocerts -out key.pem -nodes -passin pass:mypassword
|
||||
openssl pkcs12 -in mycert.pfx -nokeys -out cert.pem -passin pass:mypassword
|
||||
|
||||
Luego, elimina la contraseña del archivo .key:
|
||||
|
||||
bash
|
||||
|
||||
openssl rsa -in key.pem -out yourdomain.key
|
||||
|
||||
Ahora tienes yourdomain.key (la clave privada) y cert.pem (el certificado público).
|
||||
|
||||
coloca los archivos cert.pem y yourdomain.key dentro de la carpeta ssl
|
||||
|
||||
ya puedes entrar por https://localhost:16443 y tendras ceretificado =)
|
||||
|
||||
|
||||
si quieres modificar el archivo host de windows para acceder mediante yourdomain.com o www.yourdomain.com
|
||||
añade las siguientes lineas al final del archivo host que esta en C:\Windows\System32\drivers\etc\hosts
|
||||
|
||||
|
||||
::1 yourdomain.com
|
||||
::1 www.yourdomain.com
|
||||
Reference in New Issue
Block a user