
ที่มาภาพ: Unknown Source
วิธีตั้งค่า Cloudflare Tunnel (Argo Tunnel) เพื่อเปิดเซิร์ฟเวอร์ส่วนตัวโดยไม่ต้องเปิดพอร์ตบนเราเตอร์อย่างปลอดภัย
⚡ สรุป 30 วิ
การตั้งค่า **Cloudflare Tunnel (Argo Tunnel) ช่วยให้คุณเปิดเซิร์ฟเวอร์ส่วนตัวโดยไม่ต้องทำการเปิดพอร์ตบนเราเตอร์ การเชื่อมต่อทั้งหมดจะถูกส่งผ่านเครือข่ายของ Cloudflare ทำให้ปลอดภัยและง่ายต่อการจัดการ บ…
Overview
การตั้งค่า **Cloudflare Tunnel (Argo Tunnel) ช่วยให้คุณเปิดเซิร์ฟเวอร์ส่วนตัวโดยไม่ต้องทำการเปิดพอร์ตบนเราเตอร์ การเชื่อมต่อทั้งหมดจะถูกส่งผ่านเครือข่ายของ Cloudflare ทำให้ปลอดภัยและง่ายต่อการจัดการ บทความนี้จะอธิบายขั้นตอนตั้งค่าแบบครบถ้วน ตั้งแต่การเตรียมระบบจนถึงการตรวจสอบการทำงาน
Prerequisites
ก่อนเริ่มคุณต้องมีสิ่งต่อไปนี้พร้อมใช้งาน
- บัญชี Cloudflare ที่มีโดเมนที่คุณเป็นเจ้าของ
- เซิร์ฟเวอร์ที่ติดตั้ง Linux (Ubuntu, Debian, CentOS ฯลฯ) หรือ Windows ที่รองรับ `cloudflared`
- สิทธิ์ sudo หรือผู้ดูแลระบบบนเครื่องที่ติดตั้ง Tunnel
**Tip: หากคุณใช้ VPS แนะนำให้เปิดการอัปเดตอัตโนมัติเพื่อความปลอดภัยของระบบ
Install cloudflared
ขั้นตอนการติดตั้ง `cloudflared` มีไม่กี่บรรทัดคำสั่ง
- **ขั้นที่ 1: เพิ่ม repository ของ Cloudflare
```bash curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb -o cloudflared.deb sudo dpkg -i cloudflared.deb ```
- **ขั้นที่ 2: ตรวจสอบการติดตั้ง
```bash cloudflared --version ```
- **ขั้นที่ 3: ตั้งค่าให้ `cloudflared` ทำงานเป็น service
```bash sudo cloudflared service install ```
**Tip: บน Windows ให้ดาวน์โหลดไฟล์ `cloudflared.exe` จากหน้า Release แล้วเพิ่มไปยัง PATH
Authenticate with Cloudflare
การเชื่อมต่อ `cloudflared` กับบัญชี Cloudflare ต้องทำการยืนยันตัวตน
- **ขั้นที่ 1: เรียกคำสั่ง login
```bash cloudflared tunnel login ```
- **ขั้นที่ 2: เบราว์เซอร์จะเปิดหน้าล็อกอิน Cloudflare ให้ทำการอนุญาตเข้าถึงโดเมนที่ต้องการ
- **ขั้นที่ 3: เมื่อสำเร็จ `cloudflared` จะสร้างไฟล์ `cert.pem` ที่ตำแหน่ง `~/.cloudflared/`
**Tip: เก็บไฟล์ `cert.pem` ไว้ในที่ปลอดภัย ไม่ควรแชร์กับผู้อื่น
Create Tunnel
ต่อไปเราจะสร้าง Tunnel ที่เชื่อมต่อกับเซิร์ฟเวอร์ของคุณ
- **ขั้นที่ 1: สร้าง Tunnel พร้อมตั้งชื่อ
```bash cloudflared tunnel create my-tunnel ```
- ขั้นที่ 2: คำสั่งจะคืนค่า Tunnel UUID** ให้บันทึกไว้
- **ขั้นที่ 3: สร้างไฟล์ configuration `config.yml` ในโฟลเดอร์ `~/.cloudflared/`
```yaml tunnel: <Tunnel UUID> credentials-file: /home/username/.cloudflared/<Tunnel UUID>.json
ingress:
- hostname: app.example.com
service: http://localhost:8080
- service: http_status:404
```
- **ขั้นที่ 4: เริ่ม Tunnel
```bash cloudflared tunnel run my-tunnel ```
**Tip: หากต้องการให้ Tunnel ทำงานต่อเนื่อง ให้ใช้ `systemctl enable --now cloudflared`
Configure DNS
เพื่อให้โดเมนของคุณชี้ไปยัง Tunnel จำเป็นต้องตั้งค่า DNS แบบ CNAME
- เข้าสู่ Dashboard ของ Cloudflare DNS
- เพิ่มเรคคอร์ดใหม่
- Type: CNAME
- Name: `app` (หรือชื่อที่ต้องการ)
- Target: `\<Tunnel UUID>.cfargotunnel.com`
- TTL: Auto
- Proxy status: Proxied
- บันทึกการตั้งค่า
Tip: ใช้ TTL** ต่ำในช่วงทดสอบเพื่อให้การอัปเดตเร็วขึ้น
Secure Settings
การเพิ่มระดับความปลอดภัยช่วยลดความเสี่ยงจากการโจมตี
| การตั้งค่า | รายละเอียด | ผลลัพธ์ |
|---|---|---|
| Access Policies | สร้างกฎให้ผู้ใช้ต้องล็อกอินด้วย Cloudflare Access | จำกัดผู้เข้าถึงเฉพาะผู้ที่ได้รับอนุญาต |
| TLS Settings | เปิด **Full (Strict) TLS ระหว่าง Cloudflare เซิร์ฟเวอร์ | ป้องกันการดักฟังข้อมูล |
| Rate Limiting | ตั้งค่าอัตราการร้องขอสูงสุดต่อ IP | ลดความเสี่ยงจาก DDoS บนแอป |
| WAF | เปิดใช้งาน Web Application Firewall | ป้องกันช่องโหว่ทั่วไป |
- ขั้นที่ 1: ไปที่ Zero Trust Dashboard Access Applications Add an application**
- ขั้นที่ 2: เลือก Self-hosted** ตั้งค่าโดเมน `app.example.com` และกำหนดผู้ใช้/กลุ่มที่อนุญาต
- ขั้นที่ 3: เปิด TLS ใน SSL/TLS Edge Certificates Full (Strict)
**Tip: ตรวจสอบ Log ของ Cloudflare ทุกสัปดาห์เพื่อดูพฤติกรรมที่ผิดปกติ
Verify & Monitor
หลังตั้งค่าทั้งหมด ตรวจสอบว่าทุกอย่างทำงานตามคาด
- เปิดเว็บเบราว์เซอร์และเข้า `https://app.example.com` หากแสดงผลลัพธ์ของแอปที่รันบน `localhost:8080` แสดงว่า Tunnel ทำงานสำเร็จ
- ใช้คำสั่งตรวจสอบสถานะของ Tunnel
```bash cloudflared tunnel list ```
- ตรวจสอบ Log ของ Service
```bash sudo journalctl -u cloudflared -f ```
- เปิด Analytics ใน Cloudflare Dashboard เพื่อติดตามปริมาณการใช้งานและเหตุการณ์ผิดปกติ
**Tip: หากพบการตัดการเชื่อมต่อบ่อย ให้ตรวจสอบไฟร์วอลล์ของเซิร์ฟเวอร์และความเสถียรของอินเทอร์เน็ต
Summary
การตั้งค่า Cloudflare Tunnel ช่วยให้คุณเปิดเซิร์ฟเวอร์ส่วนตัวโดยไม่ต้องเปิดพอร์ตบนเราเตอร์และเพิ่มความปลอดภัยหลายระดับ
- **ขั้นตอนสำคัญ: login create tunnel configure DNS ตั้งค่า Access & TLS
- ข้อควรจำ: เก็บไฟล์ `cert.pem` อย่างปลอดภัย ใช้ Full (Strict) TLS และตรวจสอบ Log อย่างสม่ำเสมอ
- **ประโยชน์: ลดความซับซ้อนของการจัดการพอร์ต ป้องกันการโจมตีจากภายนอก และทำให้การเข้าถึงแอปพลิเคชันเป็นไปอย่างราบรื่น
ทำตามขั้นตอนเหล่านี้ คุณก็พร้อมใช้งาน Cloudflare Tunnel เพื่อเชื่อมต่อเซิร์ฟเวอร์ส่วนตัวของคุณได้อย่างปลอดภัยแล้ว.
แชร์บทความนี้:
ชอบบทความแบบนี้?
สมัคร AI Automate Weekly Newsletter — รับเคล็ดลับ AI + how-to ใหม่
ทุกสัปดาห์ตรงถึง inbox ฟรี ไม่มีสแปม
แหล่งข่าวต้นฉบับ
- ชื่อต้นฉบับ
- วิธีตั้งค่า Cloudflare Tunnel (Argo Tunnel) เพื่อเปิดเซิร์ฟเวอร์ส่วนตัวโดยไม่ต้องเปิดพอร์ตบนเราเตอร์อย่างปลอดภัย
- ผู้เขียน
- กองบรรณาธิการ Thai Tech News
- แหล่ง
- บทความต้นฉบับ Thai Tech News · ช่วยร่างด้วย AI, เรียบเรียง/ตรวจสอบโดยกองบรรณาธิการ
- วันที่เผยแพร่
- 30 มิถุนายน 2569 เวลา 10:51
- URL ต้นฉบับ
- https://thaitech.news/articles/growth-705322



