Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mengalihkan ke HTTPS dalam Laravel 5?

Bagaimana untuk Mengalihkan ke HTTPS dalam Laravel 5?

Linda Hamilton
Linda Hamiltonasal
2024-12-05 20:11:18602semak imbas

How to Redirect to HTTPS in Laravel 5?

Laravel 5 - Ubah hala ke HTTPS

Dalam Laravel 5, melaksanakan pengalihan HTTPS melibatkan penggunaan sama ada perisian tengah atau pendengar acara. Perisian tengah ialah pendekatan yang lebih bersih dan mudah.

Menggunakan Middleware

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',
    ];

Pertimbangan Cloudflare

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.

Pengalihan Berasaskan Alam Sekitar

Dalam versi sebelumnya Laravel, env('APP_ENV') === 'pengeluaran' telah digunakan. Dalam Laravel 5.7 dan ke atas, gantikan ini dengan App::environment() === 'pengeluaran'.

Kesimpulan

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn