วิธีทดสอบเว็บไซต์หรือแอพท้องถิ่นบนอินเทอร์เน็ตโดยใช้ Ngrok
คุณเป็นนักพัฒนาเว็บไซต์หรือแอปพลิเคชันมือถือ และต้องการเปิดเผยเซิร์ฟเวอร์ localhost ของคุณที่อยู่เบื้องหลัง NAT หรือไฟร์วอลล์ต่ออินเทอร์เน็ตสาธารณะเพื่อการทดสอบหรือไม่ ในบทช่วยสอนนี้ เราจะเปิดเผยวิธีการดำเนินการอย่างปลอดภัยโดยใช้ ngrok
Ngrok เป็นพร็อกซีเซิร์ฟเวอร์ย้อนกลับแบบโอเพ่นซอร์สและข้ามแพลตฟอร์มที่น่าตื่นเต้นฟรีสำหรับการเปิดเผยเซิร์ฟเวอร์ภายในเครื่องที่อยู่เบื้องหลัง NAT และไฟร์วอลล์ไปยังอินเทอร์เน็ตสาธารณะผ่านช่องทางที่ปลอดภัย เป็นโปรแกรมคอมพิวเตอร์ที่โดดเด่นที่คุณสามารถใช้เพื่อใช้บริการคลาวด์ส่วนบุคคลได้โดยตรงจากที่บ้าน
โดยพื้นฐานแล้วจะสร้างช่องทางที่ปลอดภัยให้กับ localhost ของคุณ ซึ่งช่วยให้คุณสามารถ: เรียกใช้การสาธิตเว็บไซต์ก่อนการใช้งานจริง ทดสอบแอปมือถือที่เชื่อมต่อกับแบ็กเอนด์ที่ทำงานในเครื่องของคุณ และสร้างผู้ใช้ที่ติดเว็บบนเครื่องพัฒนาของคุณ
คุณสมบัติ Ngrok:
- ติดตั้งง่ายโดยไม่ต้องพึ่งพารันไทม์สำหรับแพลตฟอร์มหลักๆ และทำงานได้อย่างรวดเร็ว
- รองรับอุโมงค์ที่ปลอดภัย
- จับภาพและวิเคราะห์การรับส่งข้อมูลทั้งหมดบนอุโมงค์เพื่อตรวจสอบและเล่นซ้ำในภายหลัง
- ช่วยให้คุณไม่ต้องส่งต่อพอร์ตในเราเตอร์ของคุณ
- เปิดใช้งานการใช้การรับรองความถูกต้อง HTTP (การป้องกันด้วยรหัสผ่าน)
- ใช้อุโมงค์ TCP เพื่อแสดงบริการเครือข่ายที่ไม่ได้ใช้ HTTP เช่น SSH
- รองรับเฉพาะ HTTP หรือ HTTPS ที่มีใบรับรอง SSL/TLS
- รองรับหลายอุโมงค์พร้อมกัน
- อนุญาตให้เล่นซ้ำคำขอ webhook
- ช่วยให้คุณสามารถทำงานกับไซต์โฮสต์เสมือนได้
- สามารถทำงานอัตโนมัติผ่าน API พร้อมตัวเลือกมากมายในแผนแบบชำระเงิน
ก่อนใช้งาน คุณต้องติดตั้งเว็บเซิร์ฟเวอร์หรือพิจารณาตั้งค่าสแต็ก LAMP หรือ LEMP ที่ใช้งานได้ มิเช่นนั้นให้ทำตามคำแนะนำเหล่านี้เพื่อ:
ติดตั้ง LAMP Stack บน Linux:
- การติดตั้ง LAMP (Linux, Apache, MariaDB, PHP/PhpMyAdmin) ใน RHEL/CentOS 7.0
- วิธีติดตั้ง LAMP ด้วย PHP 7 และ MariaDB 10 บน Ubuntu 16.10
ติดตั้ง LEMP Stack บน Linux:
- วิธีการติดตั้ง LEMP (Linux, Nginx, MariaDB, PHP-FPM) บน Debian 9 Stretch
- วิธีการติดตั้ง Nginx, MariaDB 10, PHP 7 (LEMP Stack) ใน 16.10/16.04
- ติดตั้ง Nginx, MariaDB และ PHP ล่าสุดบน RHEL/CentOS 7/6 และ Fedora 20-26
วิธีการติดตั้ง Ngrok ใน Linux
Ngrok ติดตั้งง่ายสุด ๆ เพียงรันคำสั่งด้านล่างเพื่อดาวน์โหลดและแตกไฟล์ zip ซึ่งมีไบนารีตัวเดียว
mkdir ngrok
cd ngrok/
wget -c https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip
unzip ngrok-stable-linux-amd64.zip
ls
เมื่อคุณมีไฟล์ไบนารีแล้ว ให้สร้างหน้า index.html พื้นฐานในรูทเอกสารเริ่มต้นของเว็บเซิร์ฟเวอร์ (Apache) เพื่อทดสอบคำขอไปยังเว็บเซิร์ฟเวอร์
sudo vi /var/www/html/index.html
เพิ่มเนื้อหา HTML ต่อไปนี้ในไฟล์
<!DOCTYPE html>
<html>
<body>
<h1>This is a TecMint.com Dummy Site</h1>
<p>We are testing Ngrok reverse proxy server.</p>
</body>
</html>
บันทึกไฟล์และเปิดใช้งาน ngrok โดยระบุพอร์ต http 80 (หากคุณกำหนดค่าเว็บเซิร์ฟเวอร์ให้ฟังบนพอร์ตอื่น คุณจะต้องใช้พอร์ตนั้น):
ngrok http 80
เมื่อคุณเริ่มต้นแล้ว คุณจะเห็นผลลัพธ์ที่คล้ายกับผลลัพธ์ด้านล่างในเทอร์มินัลของคุณ
วิธีตรวจสอบการรับส่งข้อมูลไปยังเว็บเซิร์ฟเวอร์ของคุณโดยใช้ Ngrok UI
Ngrok นำเสนอ UI เว็บที่เรียบง่ายเพื่อให้คุณสามารถตรวจสอบการรับส่งข้อมูล HTTP ทั้งหมดที่ทำงานบนอุโมงค์ของคุณแบบเรียลไทม์
http://localhost:4040
จากผลลัพธ์ข้างต้น ยังไม่มีการร้องขอไปยังเซิร์ฟเวอร์ ในการเริ่มต้น ให้ส่งคำขอไปยังอุโมงค์แห่งหนึ่งของคุณโดยใช้ URL ด้านล่าง ผู้ใช้รายอื่นจะใช้ที่อยู่เหล่านี้เพื่อเข้าถึงไซต์หรือแอปของคุณ
http://9ea3e0eb.ngrok.io
OR
https://9ea3e0eb.ngrok.io
จากนั้นตรวจสอบจาก UI การตรวจสอบเพื่อรับรายละเอียดทั้งหมดของคำขอและการตอบกลับ รวมถึงเวลา, ที่อยู่ IP ไคลเอนต์, ระยะเวลา, ส่วนหัว, URI คำขอ, เพย์โหลดคำขอ และข้อมูลดิบ
ติดตามข้อมูลเพิ่มเติมได้ที่โฮมเพจ Ngrok: https://ngrok.com/
Ngrok เป็นเพียงเครื่องมือที่น่าทึ่ง มันเป็นโซลูชันอุโมงค์ในพื้นที่ที่ปลอดภัยและเรียบง่ายที่สุดแต่ทรงพลังที่สุดที่คุณจะได้พบ คุณควรพิจารณาสร้างบัญชี ngrok ฟรีเพื่อเพิ่มแบนด์วิดท์ แต่หากคุณต้องการคุณสมบัติขั้นสูงกว่านี้ ให้ลองอัปเกรดเป็นบัญชีแบบชำระเงิน อย่าลืมแบ่งปันความคิดของคุณเกี่ยวกับซอฟต์แวร์ชิ้นนี้กับเราผ่านแบบฟอร์มความคิดเห็นด้านล่าง