Apache2 como gerar string aleatória para subdomínio

Apache2 como gerar string aleatória para subdomínio

Quero emitir um redirecionamento para um novo nome de subdomínio gerado aleatoriamente para cada solicitação que recebo. Abaixo você pode encontrar minha configuração de vhost. Quero fazer um redirecionamento para um subdomínio que contém alguma string alfanumérica aleatória em . Tudo bem se for algo tão básico como datetime+ip de um cliente ou algo parecido, só preciso fazer algumas impressões digitais, não precisa ser mais complexo. Existe uma maneira de gerar isso por meio de algum script e conectá-lo ao vhost para cada solicitação, um arquivo existente com opções disponíveis de strings aleatórias ou algum tipo de regex?

<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>

Meu sistema operacional é Ubuntu 20.04

Responder1

ORedirectdiretiva espera um URL fixo. Então isso não vai funcionar.

O mais fácil provavelmente será usar mod_rewrite para redirecionar todas as solicitações para o script e então deixar seu script, por exemplo, umredirect.phpO script PHP, que tem acesso a uma função RANDOM adequada, gera o redirecionamento aleatório.

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

Usar mod_rewrite para gerar diretamente um redirecionamento aleatório não é possível no AFAIK, nenhuma função aleatória é fornecida.

Uma possível solução alternativa: ativarmod_unique_id e você obtém acesso a uma variável de ambiente aleatória muito boa.

Então:

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

informação relacionada