Show Menu
Cheatography

Arquitectura y servidores Web Cheat Sheet by

Las arquitecturas web que existe, y los servidores web más comunes, además los protocolos HTTP y HTTPS, comandos para la instalación de Nginx

Arquit­ecturas Web

Modelo Client­e-S­ervidor
Aplica­ciones web pequeñas, clientes realizan petición, servidor devuelve resultado
Modelo Client­e-S­ervidor con servidores encade­nados
Tareas más complejas, distribuir subtareas en varios servidores
Modelo Peer-t­o-Peer (P2P)
Todas las comput­adoras actúan simult­áne­amente como clientes y servidores

Servidores Web y de Aplica­ciones

Servidores Web
Servidores de Aplica­ciones
Servidor que permite el acceso a recursos a través del protocolo HTTP, permiten consultar, cargar y eliminar recursos del servidor.
Servidor que ofrece a los clientes un servicio de ejecución de aplica­ciones, es un software que controla la ejecución de programas.
Ejemplos: Apache o Nginx (Linux), Microsoft Internet Inform­ation Server (Windows)
Ejemplos: GlassFish (servidor Java EE, Oracle), Tomcat o Microsoft Internet Inform­ation Server (servidor .NET)

Servidores de Archivos y Direct­orios

Servidores de Archivos
Servidores de Direct­orios
Se utilizan princi­pal­mente para implem­entar las aplica­ciones en el servidor donde se ejecutarán
Permite gestionar inform­ación admini­str­ativa sobre el entorno de una aplicación web, facilitan la gestión de inform­ación relaci­onada con la explot­ación de aplica­ciones web.
Ejemplos: ProFTPD o vsftpd (Linux), Microsoft Internet Inform­ation Server (Windows).
Ejemplos: OpenLDAP (Linux), Active Directory (Windows).
 

Plataf­ormas Web libres y propie­tarias

Plataf­ormas Web Libres
Plataf­ormas Web Propie­tarias
LAMP: Linux, Apache, MySQL, PHP
WISA: Windows, Intern­etI­nfo­rma­tio­nSe­rvices (IIS), SQL Server, ASP
Otras plataf­ormas:
WAMP (Windo­ws-­Apa­che­-My­SQL­-PHP)
WIMP (Windo­ws-­IIS­-My­SQL­-PHP)
LNMP (Linux + Nginx + MySQL o MariaDB + PHP)
WNMP (Windows + Nginx + MySQL o MariaDB + PHP)

Protocolos HTTP y HTTPS

Protocolo HTTP
Protocolo HTTPS
El protocolo de transf­erencia de hipertexto (HTTP, Hypertext Transfer Protocol) es el motor que da vida a Internet, ya que es la base para la web
Protocolo de aplicación basado en el protocolo HTTP, destinado a la transf­erencia segura de datos de hipert­exto, es la versión segura de HTTP.
Funcio­nam­iento:
Funcio­nam­iento
1. Un usuario accede a una URL
1. Cliente envía petición de sesión segura
2. El cliente Web descod­ifica la URL
2. Servidor envía certif­icado X.509
3. Se abre una conexión TCP/IP con el servidor
3. Cliente autentica certif­icado
4. El servidor devuelve la respuesta al cliente
4. Cliente genera clave simétrica aleatoria
5. Se cierra la conexión TCP
5. Cliente y servidor conocen y utilizan clave asimét­rica.
 

Instal­ación y config­uración de Nginx

Actualizar reposi­torios:
sudo apt update
Actualizar sistema:
sudo apt upgrade
Instalar Nginx:
sudo apt install nginx
Comprobar instal­ación:
systemctl status nginx
Ruta registros correctos del servidor:
/var/l­og/­ngi­nx/­acc­ess.log
Ruta registros erróneos del servidor:
/var/l­og/­ngi­nx/­err­or.log
Reiniciar servidor:
sudo systemctl restart nginx

Crear sitio web en Nginx

Crear carpeta para el sitio:
sudo mkdir -p /var/w­ww/­nom­bre­/html
Carpeta sea de usuario web:
sudo chown -R www-da­ta:­www­-data /var/w­ww/­nom­bre­/html
Conceder permisos para evitar error:
sudo chmod -R 755 /var/w­ww/­nom­bre­/html
Editar archivo de config­ura­ción:
sudo nano /etc/n­gin­x/s­ite­s-a­vai­lab­le/­nombre
Crear archivo simbólico para alta automá­tica:
sudo ln -s /etc/n­gin­x/s­ite­s-a­vai­lab­le/­nombre /etc/n­gin­x/s­ite­s-e­nabled/
Reiniciar servidor:
sudo systemctl restart nginx

Autent­icación en Nginx

Instalar herram­ienta htpasswd para generar contra­seña:
sudo apt install apache­2-utils
Generar usuario y contra­seña:
sudo htpasswd /etc/n­gin­x/.h­tp­asswd usuario
Editar config­uración nginx:
sudo nano /etc/n­gin­x/s­ite­s-a­vai­lab­le/­nombre

Activación HTTPS en Nginx

Crear carpeta para los certif­icados:
sudo mkdir /etc/n­gin­x/ssl
Crear certif­icados y claves:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/n­gin­x/s­sl/­ser­ver.key -out /etc/n­gin­x/s­sl/­ser­ver.crt
       
 

Comments

No comments yet. Add yours below!

Add a Comment

Your Comment

Please enter your name.

    Please enter your email address

      Please enter your Comment.

          Related Cheat Sheets

          HTTP Status Codes Cheat Sheet
          cURL cheat sheet Cheat Sheet

          More Cheat Sheets by jaotalvaro

          AWS Y SSH Cheat Sheet
          Unidad 3 Cheat Sheet
          Unidad 4 Cheat Sheet