Notas de Luis

¡Esta es una revisión vieja del documento!


# Oracle Cloud - Proxy inverso NGINX

## Crear proxy

* Crear servidor proxy inverso (lo llamaremos `PROXY`). * En la misma VCN crear servidor Web (lo llamaremos `WEB`). * En `PROXY` autorizar mediante iptables la entrada de tráfico http y https

de sde internet. Guardar configuración y copiar. Ejecutar como root.

```bash iptables -I INPUT -m state –state NEW -p tcp –dport 80 -j ACCEPT iptables -I INPUT -m state –state NEW -p tcp –dport 443 -j ACCEPT iptables-save >/etc/iptables/rules.v4 cp /etc/iptables/rules.v4 /home/ubuntu/copias ```

* En `WEB` no es necesario hacer ningún cambio en `iptables` porque por defecto

están autorizadas las comunicaciones dentro de la misma VCN.

* Autorizar el tráfico http y https de entrada a la VCN. Modificando la lista de

seguridad por defecto.

* Instalar `nginx` en ambas máquinas.

```bash sudo apt-get install nginx ```

* Cambiar el fichero `index.html` en ambos servidores y poner en cada uno de

ellos el nombre del servidor. De esta manera nos servirá para las pruebas.

* En el DNS crear el nombre de dominio apuntando a la IP pública del servidor

`PROXY`.

* Al navegar a ese nombre de dominio nos debe dar la página web con el nombre

del servidor `PROXY`. Lo que pretendemos conseguir es que nos dé la página web
del servidor `WEB`, con el nombre correspondiente.

* en el fichero `/etc/hosts` se añade la IP local del servidor `WEB`, con los

dos nombres de dominio.

``` n.n.n.n trainer1.my.to n.n.n.n demotrainer.my.to ```

* En el servidor `PROXY` cambiar la configuración del `nginx`. Se añade fichero

con la configuración del host virtual (solo http).
    server {
        root /var/www/html;
        index index.html index.htm index.nginx-debian.html;
        listen 80 ;
        listen [::]:80 ;
        server_name xxxxxxxxxxxxxxxx;
    }  

* En el servidor `WEB` se hace lo mismo. Se añade fichero con el host virtual

(solo http).
    server {
      listen *:80;
      server_name xxxxxxxxxxxxxxxx;
      root /var/www/html/;
      location /static  {
        include  /etc/nginx/mime.types;
        root /var/www/html/;
      }
    }  

## Configurar SSL

Los certificados se instalan en el proxy.

* Instalar paquetes

```bash sudo apt install certbot sudo apt install python3-certbot-nginx ```

* Crear certificados

```bash sudo certbot -d trainer1.my.to -d demotrainer.my.to ```

Con esto se habrán creado dos servidores virtuales nuevos para https, apuntando a los nuevos certificados. Los servidores virtuales viejos se habrán modificado para redirigir las peticiones http a https.

Para renovar los certificados hay que parar el servidor.

computing/cloud/oci_reverse_proxy_nginx.1768660020.txt.gz · Última modificación: por alfabeto