ข้ามไปยังเนื้อหา
ToolMug

ใช้ ↑ ↓ เพื่อเลื่อน, Enter เพื่อเปิด, Esc เพื่อปิด

สร้าง nginx Config

ป้อนโดเมนของคุณ เลือกประเภทเว็บไซต์ที่ต้องการ และเลือกฟีเจอร์ที่คุณต้องการเพื่อรับการตั้งค่า nginx server ที่พร้อมใช้งาน รองรับ reverse proxy (Node.js, Python, Java apps), static sites, single-page apps (React, Vue) และ PHP พร้อม HTTP-to-HTTPS และ www redirects, WebSocket, gzip และ static file caching

ทำงานในเบราว์เซอร์ของคุณ ข้อมูลที่คุณป้อนจะไม่ถูกอัปโหลด

HTTPS
เพิ่มเติม

0 จะคงค่าเริ่มต้นของ nginx ที่ 1 MB

สร้างใบรับรองก่อน เช่น certbot certonly --webroot -w /var/www/letsencrypt -d example.com -d www.example.com แล้วรัน nginx -t และ reload nginx

วิธีใช้งาน

  1. ป้อนโดเมน และเลือกประเภทเว็บไซต์ — ใส่ upstream address สำหรับ reverse proxy หรือ web root สำหรับประเภทอื่น
  2. เลือก HTTPS, HTTP/2, HSTS, www redirect, gzip, caching และ security headers ตามต้องการ
  3. คัดลอกหรือดาวน์โหลด config ไปไว้ใน /etc/nginx/conf.d/, รัน nginx -t และ reload nginx

คำอธิบายตัวเลือก

Reverse proxy
ส่งต่อไปยัง upstream address และส่งต่อ Host, X-Real-IP, X-Forwarded-For และ X-Forwarded-Proto เพื่อให้ backend เห็น IP จริงและ scheme ของผู้เข้าชม
Single-page app
เส้นทางที่ไม่รู้จักกลับไปยัง index.html เพื่อให้ history-mode routers (React Router, Vue Router) ไม่ 404 เมื่อโหลดซ้ำ
HTTPS
เส้นทางใบรับรองตามค่าเริ่มต้นของ certbot (Let's Encrypt) และคำขอ HTTP ได้รับการเปลี่ยนเส้นทาง 301 ไปยัง HTTPS. HTTP/2 ใช้รูปแบบ listen 443 ssl http2 ซึ่งใช้ได้กับ nginx ทุกเวอร์ชัน
HSTS
บอกเบราว์เซอร์ให้ใช้ HTTPS เท่านั้นสำหรับโดเมนและ subdomains ทั้งหมดเป็นเวลาหนึ่งปี ตรวจสอบให้แน่ใจว่า subdomain ทุกตัวรองรับ HTTPS ก่อน หรือจะไม่สามารถเข้าถึงได้

ตัวอย่าง: แอปหน้าเดียวพร้อม HTTPS และ www

ด้วยโดเมน example.com, แอปหน้าเดียว, HTTPS, HTTP/2 และติ๊ก “ตอบ www. และเปลี่ยนเส้นทาง” (ปิด “บีบอัดด้วย Gzip”, “ส่วนหัวความปลอดภัย” และ “แคชนานสำหรับไฟล์สแตติก” เพื่อให้สั้น) ตัวสร้างเขียน server block สามชุด:

  1. พอร์ต 80 ตอบทั้งสองชื่อ คงให้เข้าถึง /.well-known/acme-challenge/ ได้สำหรับการต่ออายุใบรับรอง และส่งทุกอย่างอื่นไปที่ https://example.com$request_uri ด้วย 301
  2. พอร์ต 443 สำหรับ www.example.com ใช้ใบรับรองเดียวกันและส่ง 301 ไปยังโดเมนเปล่า
  3. พอร์ต 443 สำหรับ example.com ให้บริการไซต์:
    root /var/www/example.com;
    index index.html;

    location / {
        try_files $uri $uri/ /index.html;
    }

บล็อก HTTPS ทั้งสองชี้ไปที่ /etc/letsencrypt/live/example.com/fullchain.pem และ privkey.pem อนุญาต TLS 1.2 และ 1.3 และใช้แคชเซสชันร่วมขนาด 10 MB พร้อมหมดเวลาเซสชันหนึ่งวัน บรรทัด try_files ทำให้การรีโหลดบนเส้นทางฝั่งไคลเอนต์ เช่น /settings ได้แอปกลับมาแทน 404

คำถามที่พบบ่อย

ทำไม nginx -t ถึงเตือนว่า http2 parameter ตัวพารามิเตอร์ deprecated ?

ตั้งแต่ nginx 1.25.1 ต้องการให้ใช้ http2 on; เป็น directive แยก แต่เวอร์ชัน 1.24 — ที่มาด้วย Ubuntu 24.04 และอื่น ๆ — ยังไม่รองรับ รูปแบบ listen ... http2 ใช้ได้ทุกเวอร์ชัน เวอร์ชันใหม่เพียงแต่แสดงคำเตือนเท่านั้น

ใบรับรองต้องรวม www ไหม?

ใช่ เมื่อ www redirect เปิด ขอทั้งสองชื่อ เช่น certbot -d example.com -d www.example.com

อัปโหลดล้มเหลวด้วย 413 Request Entity Too Large?

nginx อนุญาตให้มี request body ขนาด 1 MB โดยค่าเริ่มต้น ตั้ง Max upload size ตามต้องการ เช่น 100

WebSocket connections ล้มเหลวผ่าน proxy?

Proxy ต้องส่งต่อ Upgrade และ Connection headers เมื่อเลือก WebSocket support จะเพิ่มมัน และตั้ง read timeout เป็นหนึ่งชั่วโมง

ความเป็นส่วนตัว

เครื่องมือนี้ทำงานในเบราว์เซอร์ของคุณทั้งหมด ไฟล์และข้อความของคุณได้รับการประมวลผลบนอุปกรณ์ของคุณ และจะไม่ถูกอัปโหลดไปยังเซิร์ฟเวอร์ของเรา

เครื่องมือที่เกี่ยวข้อง