
Ich möchte für jede Anfrage, die ich erhalte, eine Umleitung zu einem neuen, zufällig generierten Subdomänennamen erstellen. Unten finden Sie meine Vhost-Konfiguration. Ich möchte eine Umleitung zu einer Subdomäne einrichten, die eine zufällige alphanumerische Zeichenfolge enthält. Es ist in Ordnung, wenn es etwas so Einfaches wie Datum, Uhrzeit und IP eines Clients oder etwas Ähnliches ist, ich muss nur ein paar Fingerabdrücke erstellen, es muss nicht komplexer sein. Gibt es eine Möglichkeit, das über ein Skript zu generieren und es für jede Anfrage in den Vhost einzufügen, eine vorhandene Datei mit verfügbaren Optionen für zufällige Zeichenfolgen oder eine Art regulärer Ausdruck?
<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>
Mein Betriebssystem ist Ubuntu 20.04
Antwort1
DerRedirect
-Direktive erwartet eine feste URL. Das wird also nicht funktionieren.
Am einfachsten ist es wahrscheinlich, mod_rewrite zu verwenden, um alle Anfragen an das Skript umzuleiten und dann Ihr Skript, beispielsweise einredirect.php
Ein PHP-Skript, das Zugriff auf eine entsprechende RANDOM-Funktion hat, generiert die zufällige Weiterleitung.
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /redirect.php [L]
Die Verwendung von mod_rewrite zum direkten Generieren einer zufälligen Weiterleitung ist meines Wissens nicht möglich, da keine Zufallsfunktion bereitgestellt wird.
Ein möglicher Workaround: Aktivieren Sieeindeutige Mod-ID und Sie erhalten Zugriff auf ziemlich gute zufällige Umgebungsvariablen.
Dann:
RewriteEngine On
RewriteRule . http://%{UNIQUE_ID}.example.com [R]