
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
ORedirect
diretiva 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.php
O 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]