Dalam Laravel 5, melaksanakan pengalihan HTTPS melibatkan penggunaan sama ada perisian tengah atau pendengar acara. Perisian tengah ialah pendekatan yang lebih bersih dan mudah.
Buat kelas middleware:
namespace App\Http\Middleware; use Closure; use Illuminate\Support\Facades\Request; use Illuminate\Support\Facades\App; class HttpsProtocol { public function handle(Request $request, Closure $next) { if (!$request->secure() && App::environment() === 'production') { return redirect()->secure($request->getRequestUri()); } return $next($request); } }
Daftar perisian tengah dalam fail Kernel.php:
protected $middleware = [ // Other middleware 'App\Http\Middleware\HttpsProtocol', ];
Jika menggunakan Cloudflare, anda mungkin menghadapi gelung ubah hala. Tambahkan baris berikut pada perisian tengah anda:
$request->setTrustedProxies([$request->getClientIp()]);
Ini mempercayai pengepala CloudFlare yang dihantar, menghalang gelung ubah hala.
Dalam versi sebelumnya Laravel, env('APP_ENV') === 'pengeluaran' telah digunakan. Dalam Laravel 5.7 dan ke atas, gantikan ini dengan App::environment() === 'pengeluaran'.
Melaksanakan pengalihan HTTPS dengan perisian tengah atau pendengar acara membolehkan anda memaksa sambungan HTTPS untuk aplikasi Laravel anda. Ingat untuk mempertimbangkan tetapan Cloudflare jika perlu dan laraskan ubah hala sensitif alam sekitar dengan sewajarnya.
Atas ialah kandungan terperinci Bagaimana untuk Mengalihkan ke HTTPS dalam Laravel 5?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!