Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mengalihkan Semua Permintaan Laravel 5 ke HTTPS dengan Pengecualian Domain?

Bagaimana untuk Mengalihkan Semua Permintaan Laravel 5 ke HTTPS dengan Pengecualian Domain?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-04 21:13:13390semak imbas

How to Redirect All Laravel 5 Requests to HTTPS with Domain Exceptions?

Laravel 5: Kuatkuasakan Pengalihan HTTPS

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:

  1. Tambah baris berikut pada perisian tengah anda:

    $request->setTrustedProxies([$request->getClientIp()]);
  2. Dalam panel kawalan Cloudflare, cipta Peraturan Halaman baharu:

    • URL Padanan: *
    • Tetapan: Sentiasa Gunakan HTTPS

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:

  • Pastikan SSL anda dikonfigurasikan dengan betul untuk domain yang anda tentukan.
  • Persekitaran yang anda ubah hala (HTTP) mestilah berbeza daripada persekitaran pengeluaran (HTTPS ).
  • Anda boleh memperhalusi gelagat perisian tengah dengan menyemak domain permintaan atau lain-lain faktor.

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!

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