
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
ElRedirect
La 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.php
El 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]