Apache2 cómo generar una cadena aleatoria para el subdominio

Apache2 cómo generar una cadena aleatoria para el subdominio

Quiero emitir una redirección a un nuevo nombre de subdominio generado aleatoriamente para cada solicitud que recibo. A continuación puede encontrar mi configuración de vhost. Quiero realizar una redirección hacia un subdominio que contenga una cadena alfanumérica aleatoria. Está bien si es algo tan básico como la fecha y hora+ip de un cliente o algo así, solo necesito tomar algunas huellas digitales, no tiene por qué ser más complejo. ¿Hay alguna manera de generar eso a través de algún script y conectarlo al vhost para cada solicitud, un archivo existente con opciones disponibles de cadenas aleatorias o algún tipo de expresión regular?

<VirtualHost *:443>
    ServerName mysite.com
            Redirect 302 / https://<randomstring>.mysite.com/
            ErrorLog ${APACHE_LOG_DIR}/error.log
            CustomLog ${APACHE_LOG_DIR}/access.log vhost_combined
            SSLEngine on
            SSLCertificateFile      /etc/apache2/ssl/site.cert
            SSLCertificateKeyFile /etc/apache2/ssl/site.key
</VirtualHost>

Mi sistema operativo es ubuntu 20.04

Respuesta1

ElRedirectLa directiva espera una URL fija. Entonces eso no funcionará.

Lo más fácil probablemente será usar mod_rewrite para redirigir todas las solicitudes al script y luego dejar que su script, por ejemplo unredirect.phpEl script PHP, que tiene acceso a una función ALEATORIA adecuada, genera la redirección aleatoria.

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /redirect.php [L]

Usar mod_rewrite para generar directamente una redirección aleatoria no es posible, AFAIK, no se proporciona ninguna función aleatoria.

Una posible solución: activarmod_unique_id y obtienes acceso a una variable de entorno aleatoria bastante buena.

Entonces:

RewriteEngine On
RewriteRule . http://%{UNIQUE_ID}.example.com [R]

información relacionada