Laravel loyihalariga boshqa qurilmalardan kirish imkoniyatini berish uchun Ngrok ni ishlatish
Bu maqolada Laravel loyihalariga ngrokni o'rnatish va ssl muammosini hal qilish haqida bo'ladi.

Ba'zida laravel loyihangizni boshqa komputerdan(qurilma) kirishga imkoniyat berishingiz kerak bo'ladi. Bunda sizga ngrok deb nomlangan xizmat katta yordam beradi. Quyida biz bu xizmatdan qanday foydalanish haqida ma'lumotlarni berib o'tamiz.
Loyihani ishga tushirish
Laravel loyihangizni ishga tushirish uchun o'zingiz uchun qulay bo'lgan usuldan foydalaning. Masalan sail instrument orqali:
sail up
Eslatma ishga tushirgan loyihamizda .env faylda APP_PORT parametrimiz 8000 qiymati qo'yilgan bo'lib bu degani loyihamiz http protokolida 8000 portda ishlaydi. Bu portni bizni ngrok http buyrug'ida keyingi bosqichlarda ishlatamiz.
ngrok o'rnatish
https://ngrok.com/ saytidan ro'yxatdan o'ting
Shundan so'ng ngrok agent ni yuklab oling, arxivdan chiqaring va ngrok saytida keltirilgan dokumentatsiyaning(Setup & Installation guide) birinchi va ikkinchi bosqichlarida keltirilgan ko'rsatmalar asosida ngrok agentini akkountingizga bog'lang.
ngrok agentini ishga tushiramiz quyida keltirilgan buyruqdan so'ng u bizga mana bu url manziliga o'xshash https://dsdee-12-56-88-652.ngrok-free.app/ manzil yaratib beradi va sizning local laravel loyihangiz bilan bog'laydi
ngrok http 8000
How cool is that!
Statik fayllarni yuklashni to'g'rlang
Boshqa qurilmalardan loyiha manziliga kirganingizda sizda ssl sertifikati bilan bog'liq muammoga duch kelishingiz mumkin, ya'ni https saytingni ochib lekin statik fayllarni http bilan yuklab ololmaganiz sababli statik fayllaringiz ochilmasligi mumkin. Bunda holatda ikki narsaga e'tibor berish kerak va hisob olish zarur bo'ladi.
Dastlab agar siz npm packagelardan foydalangan bo'lsangiz uni build qilish yodda chiqarmang. (npm run dev faqat local kompyuteringizda ishlaydi). Quyidagi buyruq orqali npm packagelarni build qilishingiz kerak bo'ladi:
npm run build
Shundan so'ng Laravel default holatda http protokoli bilan ishlagani uchun ngrok orqali loyihaga murojaat qilganda uni https orqali ishlash majburlashimiz mumkin. Buning uchun middleware dan foydalanishimiz mumkin, uning vazifasi ngrok xizmatidan kelayotgan so'rovlarga https protokoli orqali javob berishi kerak bo'ladi. Quyidagi ishlarni ketma ketlikda bajaramiz:
Middleware classini yaratamiz
app/Http/Middleware/HttpsUnderNgrok.php:<?php namespace App\\Http\\Middleware; use Closure; use Illuminate\\Http\\Request; use Illuminate\\Support\\Facades\\URL; use Symfony\\Component\\HttpFoundation\\Response; class HttpsUnderNgrok { public function handle(Request $request, Closure $next): Response { if (str_ends_with($request->getHost(), '.ngrok-free.app')) { URL::forceScheme('https'); } return $next($request); } }Middlewareni
app/Http/Kernel.phpro'yxatdan o'tkazamiz:protected $middlewareGroups = [ 'web' => [ ... HttpsUnderNgrok::class, ], ... ];
Barcha sozlamalarni yakunladik endi loyihangizni mijozlar, hamkasblaringiz bilan ulashsangiz muhokama qilsangiz bo'ladi.
Ngrok haqida to'liqroq bilmoqchi bo'lsangiz quyidagi manzilda ma'lumotlar olishingiz mumkin.




