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
Lepaskan: 2024-12-04 21:13:13
asal
451 orang telah melayarinya

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);
    }
}
Salin selepas log masuk

Aplikasi:

Daftar perisian tengah dalam fail Kernel.php:

protected $middleware = [
    ...
    'MyApp\Http\Middleware\HttpsProtocol',
];
Salin selepas log masuk

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()]);
    Salin selepas log masuk
  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'
    ],
];
Salin selepas log masuk

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 Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan