Tutorial Laravel 5.5 - Memaksa route Laravel Menjadi HTTPS

Post a Comment

Biasanya permasalahan yang kita hadapi saat membuat program adalah penggunaan https pada server yang kita gunakan sedangkan program yang kita buat di local tentu tidak menggunakan https. Nah, pada artikel kali ini saya akan menjelaskan secara singkat bagaimana cara mengatasi permasalahan tersebut dengan cara yang menurut saya sederhana.

#MEMBUAT VARIABEL .ENV

Langkah pertama adalah membuat variabel pada file .env yang digunakan sebagai penanda untuk mengaktifkan mode https atau tidak. 

APP_HTTPS = false

Dalam contoh ini saya menggunakan variabel APP_HTTPS dengan nilai true atau false. True jika mengaktifkan mode HTTPS dan false jika tidak. Penamaan variabel ini dan isinya terntu saja dapat anda sesuaikan sendiri dengan kebiasaanya penamaan variabel yang anda gunakan asalkan secara konsep memiliki fungsi yang sama pada pemakaian di langkah berikutnya.


#EDIT FILE AppServiceProvider.php

Langkah berikutnya adalah menambahkan beberapa kode pada file AppServiceProvider.php. File ini berada pada direktori app\Providers. Yang pertama adalah menambahkan kode berikut ini pada bagian atas file 

use Illuminate\Support\Facades\URL;

Dan kemudian tambahkan kode berikut pada bagian function boot()

        if (env('APP_HTTPS')){
            URL::forceScheme('https');
        }

Cara kerja dari kode di atas adalah membaca variabel APP_HTTPS pada file .env yang kita tambahkan sebelumnya. Saat bernilai true maka program akan menjalankan url https dan jika bernilai false maka mode https tidak dijalankan.

Untuk kode lengkap dari file AppServiceProvider.php dapat dilihat pada kode di bawah ini

<?php

namespace App\Providers;

use Illuminate\Support\Facades\URL;
use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        //
        if (env('APP_HTTPS')){
            URL::forceScheme('https');
        }
    }

    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
    }
}


Yang perlu anda perhatikan adalah versi dari Laravel yang anda gunakan. Berdasarkan informasi yang saya temukan saat membuat artikel ini adalah untuk versi laravel 4.3 sampai 5.2 perintah yang digunakan adalah URL::forceSchema('https'); sedangkan versi 5.4 ke atas menggunakan perintah URL::forceScheme('https');. Perbedaanya hanya terletak pada huruf a diubah menjadi huruf e :). 

Demikian penjelasan pada artikel Tutorial Laravel 5.5 - Memaksa route Laravel Menjadi HTTPS ini. Semoga penjelasan saya dapat dengan mudah dipahami dan diterapkan. Selamat mencoba.

Related Posts

Post a Comment