Soalan: Bagaimanakah cara saya mengubah hala semua permintaan ke HTTPS dalam aplikasi Laravel 5, sambil membenarkan pengecualian untuk khusus domain?
Jawapan:
Untuk menguatkuasakan pengalihan HTTPS, anda boleh menggunakan kelas Middleware. Begini caranya:
namespace MyApp\Http\Middleware; use Closure; use Illuminate\Support\Facades\App; class HttpsProtocol { public function handle($request, Closure $next) { // In production environment, redirect non-secure requests if (!$request->secure() && App::environment() === 'production') { return redirect()->secure($request->getRequestUri()); } return $next($request); } }
Aplikasi:
Daftar perisian tengah dalam fail Kernel.php:
protected $middleware = [ ... 'MyApp\Http\Middleware\HttpsProtocol', ];
Konfigurasi Cloudflare :
Jika anda menggunakan Cloudflare, anda boleh menghadapi gelung ubah hala. Untuk menyelesaikannya:
Tambah baris berikut pada perisian tengah anda:
$request->setTrustedProxies([$request->getClientIp()]);
Dalam panel kawalan Cloudflare, cipta Peraturan Halaman baharu:
Laravel v5.3 dan Kemudian:
Untuk Laravel v5.3 dan lebih baharu, cuma masukkan perisian tengah dalam web kumpulan:
protected $middlewareGroups = [ 'web' => [ ... 'MyApp\Http\Middleware\HttpsProtocol' ], ];
Lain-lain Nota:
Atas ialah kandungan terperinci Bagaimana untuk Mengalihkan Semua Permintaan Laravel 5 ke HTTPS dengan Pengecualian Domain?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!