---
title: DNS และ Cloudflare
description: ชี้โดเมนของคุณไปยังเซิร์ฟเวอร์ NexCMP โดยอาจผ่าน Cloudflare และรับใบรับรองที่ถูกต้องด้วยโหมด SSL ที่เหมาะสม
url: https://nexcmp.com/th/docs/getting-started/dns-and-cloudflare/
applies_to: NexCMP 1.6.1
updated: 2026-11-02
---

# DNS และ Cloudflare {#dns-and-cloudflare}

NexCMP ต้องการชื่อ DNS หนึ่งชื่อ คือ **โดเมนหลัก** ของตน และทำงานในสองโหมด

## โหมด A: DNS ชี้ตรงไปยังเซิร์ฟเวอร์ {#mode-a-dns-points-straight-at-the-server}

1. สร้างเรคอร์ด **A** `cloud.example.com → <server public IPv4>` (และเรคอร์ด **AAAA** หากเซิร์ฟเวอร์มี IPv6)
2. ทางเลือก หากคุณใช้งาน: `admin.cloud.example.com` และ `partner.cloud.example.com` ชี้ไปยัง IP เดียวกัน
3. รัน (หรือรันซ้ำ) [ตัวติดตั้ง](https://nexcmp.com/th/docs/getting-started/installation/) โดยระบบจะตรวจสอบว่าชื่อนั้นชี้ไปยัง IP สาธารณะของเซิร์ฟเวอร์เอง และขอใบรับรอง Let's Encrypt ผ่าน HTTP-01 ชาเลนจ์บนพอร์ต 80

## โหมด B: โดเมนถูกพร็อกซีโดย Cloudflare {#mode-b-the-domain-is-proxied-by-cloudflare}

สร้างเรกคอร์ดเดียวกันโดยใช้คลาวด์สีส้ม (**Proxied**) โปรแกรมติดตั้งจะตรวจพบว่าชื่อชี้ไปยังแอดเดرسของ Cloudflare เท่านั้น และจะสลับไปยังโหมด Cloudflare:

- nginx ยังคงรันและฟังพอร์ต 80/443 บนเซิร์ฟเวอร์ของคุณ;
- IP จริงของผู้เยี่ยมชมจะถูกอ่านจากเฮดเดอร์ `CF-Connecting-IP` — **เฉพาะ** สำหรับการเชื่อมต่อที่มาจากช่วงไอพีที่ Cloudflare ประกาศใช้งานเท่านั้น ดังนั้นจึงไม่สามารถปลอมแปลงโดยบุคคลอื่นได้;
- ใบรับรองจะออกผ่าน Let's Encrypt (Cloudflare จะส่งต่อคำขอท้าทายไปยังต้นทางของคุณ); หากยังไม่สามารถทำได้ในตอนนี้ ระบบจะสร้าง **self-signed origin certificate** ขึ้นมาเพื่อให้โหมด "Full" ทำงานได้ และการรันโปรแกรมติดตั้งใหม่อีกครั้งในภายหลังจะอัปเกรดเป็น Let's Encrypt

คุณสามารถบังคับใช้โหมดนี้ได้ด้วย `--behind-cloudflare`

::: important ตั้งค่าโหมด SSL/TLS ใน Cloudflare
ใน Cloudflare ให้ไปที่ **SSL/TLS › Overview** และเลือก **Full (strict)** ทันทีที่โปรแกรมติดตั้งรายงานว่ามีใบรับรอง Let's Encrypt แล้ว สำหรับ self-signed origin certificate ให้ใช้ **Full** ส่วน **Flexible** จะทำให้เกิดลูปการเปลี่ยนเส้นทาง
:::

::: tip
หากเปิดใช้งาน "Always Use HTTPS" อยู่ Cloudflare จะส่งคำขอตรวจสอบความถูกต้องไปยังพอร์ต 443 ของต้นทางคุณ โปรแกรมติดตั้งจะจัดการเรื่องนี้โดยการสร้างใบรับรองแบบลงนามด้วยตนเองชั่วคราวก่อน จากนั้นจึงลองใหม่อีกครั้งกับ Let's Encrypt
:::

## ตรวจสอบการทำงาน {#check-it}

```bash
dig +short cloud.example.com        # A record (a Cloudflare address in mode B)
curl -I https://cloud.example.com/healthz
sudo certbot certificates           # certificate name, domains and expiry
```

ใบรับรองจะต่ออายุโดยอัตโนมัติด้วยตัวจับเวลาของ certbot การต่ออายุจะใช้เว็บรูท `/var/www/nexcmp-acme` ดังนั้นพอร์ต 80 จึงต้องสามารถเข้าถึงได้ (โดยตรงหรือผ่าน Cloudflare)

## ปัญหาที่พบบ่อย {#common-problems}

| อาการ | สาเหตุ | วิธีแก้ปัญหา |
|---|---|---|
| โปรแกรมติดตั้งแจ้งว่า "DNS … does not point to … (nor to Cloudflare) — skipping nginx/TLS" | เรกคอร์ด DNS หายไป ไม่ถูกต้อง หรือยังไม่แพร่กระจาย | แก้ไขเรกคอร์ด รอให้ระบบแพร่กระจาย แล้วรันโปรแกรมติดตั้งใหม่อีกครั้ง |
| เบราว์เซอร์แสดง `ERR_TOO_MANY_REDIRECTS` เมื่ออยู่เบื้องหลัง Cloudflare | โหมด SSL คือ **Flexible** | ตั้งค่าเป็น **Full (strict)** (หรือ **Full**) |
| ข้อผิดพลาด Cloudflare 525/526 | ใบรับรองต้นทางถูกปฏิเสธ | ใช้ **Full** ร่วมกับ self-signed origin certificate หรือ **Full (strict)** ร่วมกับ Let's Encrypt |
| ไอพีของผู้เยี่ยมชมทุกคนในบันทึก (logs) กลายเป็นไอพีของ Cloudflare | ไม่ได้อยู่ในโหมด Cloudflare | รันโปรแกรมติดตั้งใหม่อีกครั้งด้วย `--behind-cloudflare` |

ดูข้อมูลเพิ่มเติมได้ที่ [Installation errors](https://nexcmp.com/th/docs/troubleshooting/installation-errors/)
