Laravel Proxy
Leiten Sie usertrax über Ihre Laravel-Anwendung, um Script und Events von Ihrer eigenen Domain auszuliefern.
Proxy-Controller erstellen
Terminal-Fenster php artisan make:controller UsertraxProxyControllerProxy-Logik implementieren
In
app/Http/Controllers/UsertraxProxyController.php:<?phpnamespace App\Http\Controllers;use Illuminate\Http\Request;use Illuminate\Http\Response;use Illuminate\Support\Facades\Cache;use Illuminate\Support\Facades\Http;class UsertraxProxyController extends Controller{public function script(): Response{$body = Cache::remember('usertrax_script', 86_400, function (): string {return Http::get('https://usertrax.io/cvs.js')->body();});return response($body, 200, ['Content-Type' => 'application/javascript','Cache-Control' => 'public, max-age=86400',]);}public function events(Request $request): Response{$response = Http::withHeaders(['Content-Type' => 'application/json','Accept' => 'application/json','User-Agent' => $request->header('User-Agent', ''),'X-Auth-Key' => $request->header('X-Auth-Key', ''),])->post('https://api.usertrax.io/api/events', $request->all());return response($response->body(), $response->status(), ['Content-Type' => 'application/json',]);}}Routen registrieren
In
routes/web.php:use App\Http\Controllers\UsertraxProxyController;Route::get('/cvs.js', [UsertraxProxyController::class, 'script']);Route::post('/api/usertrax/events', [UsertraxProxyController::class, 'events']);Nutzen Sie
web.php, nichtapi.php, damit CSRF Browser-POST-Requests nicht blockiert.Blade-Layout anpassen
<script>window.usertraxConfig = {endpoint: "/api/usertrax/events",};</script><script src="/cvs.js" data-key="{{ config('services.usertrax.key') }}" defer></script>Deployen
Nach dem Deployment ist der Proxy aktiv. Bei Route-Cache:
php artisan route:clear.
Verifizierung
Section titled “Verifizierung”- Website besuchen
- Network-Tab öffnen
- Prüfen, dass Anfragen über Ihre Domain laufen
Fehlerbehebung
Section titled “Fehlerbehebung”- 419 CSRF token mismatch: Events-Route in
web.phpplatzieren oder von CSRF ausschließen - 401 Unauthorized:
X-Auth-Key-Weiterleitung unddata-keyprüfen