Tabla de Contenidos

Oracle Cloud - Proxy inverso Apache

Crear proxy

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
sudo apt-get install apache2
sudo a2enmod proxy proxy_http proxy_balancer lbmethod_byrequests
sudo systemctl restart apache2
n.n.n.n  trainer1.my.to
n.n.n.n  demotrainer.my.to
  ''demotrainer.conf''
      <VirtualHost *:80>
          ServerAdmin ubuntu@localhost
          ServerName  demotrainer.my.to
          ErrorLog ${APACHE_LOG_DIR}/error.log
          CustomLog ${APACHE_LOG_DIR}/access.log vhost_combined
          ProxyPass / http://demotrainer.my.to/
          ProxyPassReverse / http://demotrainer.my.to/
          ProxyRequests On
          ProxyPreserveHost On
      </VirtualHost>
  ''trainer1.conf''
      <VirtualHost *:80>
          ServerAdmin ubuntu@localhost
          ServerName  trainer.my.to
          ErrorLog ${APACHE_LOG_DIR}/error.log
          CustomLog ${APACHE_LOG_DIR}/access.log vhost_combined
          ProxyPass / http://trainer1.my.to/
          ProxyPassReverse / http://trainer1.my.to/
          ProxyRequests On
          ProxyPreserveHost On
      </VirtualHost>
  Con esto habremos redirigido todo el tráfico http al servidor ''WEB''. 
''demotrainer.conf''
      <VirtualHost *:80>
        ServerAdmin ubuntu@localhost
        ServerName  demotrainer.my.to
        DocumentRoot /var/www/demotrainer
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log vhost_combined
      </VirtualHost>
''trainer1.conf''
      <VirtualHost *:80>
        ServerAdmin ubuntu@localhost
        ServerName  trainer1.my.to
        DocumentRoot /var/www/trainer1
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log vhost_combined
      </VirtualHost>

Configurar SSL

Los certificados se instalan en el proxy.

sudo apt install certbot
sudo apt install python3-certbot-apache
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.