คู่มือ

ตัวจัดการไฟล์สำหรับ MinIO และ S3 แบบโฮสต์เอง: เชื่อมต่อกับ Nubbo

วิธีเชื่อมต่อพื้นที่เก็บข้อมูลที่รองรับ S3 ของคุณเอง เช่น MinIO, Ceph หรือ SeaweedFS กับ Nubbo: endpoint คีย์ ภูมิภาค CORS และสิ่งที่ควรทำหากล้มเหลว

Nubbo เชื่อมต่อกับพื้นที่เก็บข้อมูลที่รองรับ S3 ใดก็ได้ที่ลงนามด้วย Signature V4 เช่น MinIO, Ceph หรือ SeaweedFS ไม่ว่าจะอยู่บนเซิร์ฟเวอร์ของคุณเองหรือกับผู้ให้บริการรายอื่น สิ่งที่ต้องใช้มีเพียง URL ของ endpoint คีย์ และภูมิภาค คู่มือนี้พาคุณทำตามตัวช่วยของ Nubbo ทีละขั้นตอนทั้งสองแบบ คือแบบอัตโนมัติและแบบใช้คีย์ที่จำกัดไว้เพียงบัคเก็ตเดียว

สิ่งที่คุณจะได้รับ

  • เรียกดูบัคเก็ตได้เหมือนไดรฟ์: โฟลเดอร์ มุมมอง การค้นหา ถังขยะ ป้ายกำกับ และรายการโปรด
  • อัปโหลดและดาวน์โหลดไฟล์โดยตรงระหว่างเบราว์เซอร์ของคุณกับเซิร์ฟเวอร์ของคุณ ไฟล์ไม่เคยผ่านเซิร์ฟเวอร์ของ Nubbo
  • แชร์ไฟล์และโฟลเดอร์พร้อมรหัสผ่าน วันหมดอายุ และขีดจำกัดการดาวน์โหลด รับไฟล์เข้าสู่บัคเก็ตของคุณ และสร้างแกลเลอรี
  • คีย์ของคุณถูกเก็บแบบเข้ารหัสด้วย AES-256-GCM และคุณยกเลิกการเชื่อมต่อบัคเก็ตได้ทุกเมื่อ

ก่อนเริ่มต้น

คุณต้องมีพื้นที่เก็บข้อมูลที่รองรับ S3 และบัญชี Nubbo ทุกบัคเก็ตที่เชื่อมต่อนับรวมในขีดจำกัดของแผนคุณ: แผนฟรีเชื่อมต่อได้ 2 Personal ได้ 5 และ Pro ไม่จำกัด endpoint ต้องเป็น URL สาธารณะที่ทั้งเซิร์ฟเวอร์ของ Nubbo และเบราว์เซอร์เข้าถึงได้ และต้องใช้ HTTPS เพราะเบราว์เซอร์จะไม่โหลดเนื้อหา HTTP จาก https://nubbo.app Nubbo จะปฏิเสธ endpoint ที่ชี้ไปยังที่อยู่ส่วนตัวหรือที่อยู่ภายใน หากเซิร์ฟเวอร์ของคุณไม่มีภูมิภาค ให้คงค่า us-east-1 ไว้

เลือกวิธีเชื่อมต่อ

ตัวช่วยของ Nubbo มีให้เลือกสองแบบ ทั้งสองแบบจบลงเหมือนกัน คือบัคเก็ตเชื่อมต่อแล้วและพร้อมรับการอัปโหลดจากเบราว์เซอร์

อัตโนมัติใช้คีย์แบบจำกัด
คีย์มีสิทธิ์เข้าถึงทั้งบัญชีจำกัดไว้เพียงบัคเก็ตเดียว
บัคเก็ตNubbo ใช้บัคเก็ตที่คุณมีหรือสร้างใหม่คุณสร้างเองก่อน
CORSNubbo เพิ่มกฎให้คุณคุณเพิ่มกฎเอง
ควรเลือกเมื่อต้องการวิธีที่เร็วที่สุดไม่ต้องการให้สิทธิ์เข้าถึงทั้งบัญชี

การเชื่อมต่ออัตโนมัติ

ขั้นตอนที่ 1: สร้างคีย์ในเซิร์ฟเวอร์ของคุณ

  1. ตรวจสอบว่าเซิร์ฟเวอร์ของคุณเปิด S3 API พร้อม Signature V4 บน URL แบบ HTTPS ที่เข้าถึงได้สาธารณะ เช่น https://s3.your-domain.com
  2. สร้างคีย์ที่สร้างบัคเก็ตและเปลี่ยน CORS ของบัคเก็ตได้
  3. จด URL ของ endpoint และภูมิภาคไว้ หากเซิร์ฟเวอร์ของคุณไม่มีภูมิภาค ให้ใช้ us-east-1

ขั้นตอนที่ 2: เชื่อมต่อบัคเก็ตใน Nubbo

  1. ใน Nubbo เปิด บัคเก็ต แล้วกด เชื่อมต่อบัคเก็ต เลือก S3 แบบกำหนดเอง / โฮสต์เอง แล้วกด ดำเนินการต่อ

    ขั้นตอนผู้ให้บริการในตัวช่วยของ Nubbo โดยเลือก S3 แบบกำหนดเอง / โฮสต์เอง ไว้ ขั้นตอนผู้ให้บริการในตัวช่วยของ Nubbo โดยเลือก S3 แบบกำหนดเอง / โฮสต์เอง ไว้
  2. เลือก อัตโนมัติ แล้วกด ดำเนินการต่อ

    ขั้นตอนวิธีเชื่อมต่อพร้อมตัวเลือกอัตโนมัติและใช้คีย์แบบจำกัด ขั้นตอนวิธีเชื่อมต่อพร้อมตัวเลือกอัตโนมัติและใช้คีย์แบบจำกัด
  3. ในขั้นตอน คีย์ของคุณ วาง access key, secret key, URL ของ endpoint และภูมิภาค กด ตรวจสอบคีย์ Nubbo จะตรวจว่าคีย์ใช้งานได้และมีสิทธิ์เข้าถึงทั้งบัญชี

    ขั้นตอนคีย์ของคุณสำหรับ S3 แบบกำหนดเอง / โฮสต์เอง พร้อมคู่มือฉบับย่อและช่องกรอกคีย์ ขั้นตอนคีย์ของคุณสำหรับ S3 แบบกำหนดเอง / โฮสต์เอง พร้อมคู่มือฉบับย่อและช่องกรอกคีย์
  4. เลือกบัคเก็ตของคุณแล้วกด ใช้บัคเก็ตนี้ หรือเลือก สร้างใหม่ พิมพ์ชื่อ (และเลือกภูมิภาคหากระบบถาม) แล้วกด สร้างและเตรียม Nubbo จะเพิ่มกฎ CORS ลงในบัคเก็ตที่อนุญาตเฉพาะการอัปโหลดและดาวน์โหลดจากแอป และคงกฎที่มีอยู่เดิมไว้

    ขั้นตอนบัคเก็ตของคุณพร้อมรายการบัคเก็ตและตัวเลือกสร้างใหม่ ขั้นตอนบัคเก็ตของคุณพร้อมรายการบัคเก็ตและตัวเลือกสร้างใหม่
  5. ตรวจทานผลการตรวจสอบทั้งสามรายการ เปลี่ยน ชื่อใน Nubbo หากต้องการ แล้วกด เสร็จสิ้น บัคเก็ตจะแสดงในหน้า บัคเก็ต และคุณเปิดในตัวสำรวจได้ทันที

    ขั้นตอนเสร็จสิ้นพร้อมผลการตรวจสอบการเชื่อมต่อ บัคเก็ต และ CORS ขั้นตอนเสร็จสิ้นพร้อมผลการตรวจสอบการเชื่อมต่อ บัคเก็ต และ CORS

หาก Nubbo เพิ่มกฎ CORS ด้วยคีย์ของคุณไม่ได้ ตัวช่วยจะพาคุณไปยังขั้นตอน CORS จากนั้นทำตาม เพิ่มกฎ CORS

การเชื่อมต่อด้วยคีย์แบบจำกัด

ขั้นตอนที่ 1: เตรียมบัคเก็ตและคีย์ในเซิร์ฟเวอร์ของคุณ

  1. สร้างบัคเก็ตบนเซิร์ฟเวอร์ของคุณ (เช่น บน MinIO ใช้คำสั่ง mc mb)
  2. สร้างคีย์ที่มีสิทธิ์อ่านและเขียนบนบัคเก็ตนั้น
  3. จด URL ของ endpoint และภูมิภาคไว้

ขั้นตอนที่ 2: เชื่อมต่อบัคเก็ตใน Nubbo

  1. ในหน้า บัคเก็ต กด เชื่อมต่อบัคเก็ต เลือก S3 แบบกำหนดเอง / โฮสต์เอง แล้วเลือก ใช้คีย์แบบจำกัด
  2. วาง access key, secret key, endpoint และภูมิภาค กด ตรวจสอบคีย์
  3. พิมพ์ชื่อบัคเก็ตให้ตรงทุกตัวอักษร แล้วกด ตรวจสอบสิทธิ์เข้าถึง
  4. ตัวช่วยจะไปยังขั้นตอน CORS พร้อมกฎที่คุณต้องเพิ่ม

เพิ่มกฎ CORS

กฎ CORS ช่วยให้เบราว์เซอร์อัปโหลดและดาวน์โหลดไฟล์จากบัคเก็ตของคุณบน https://nubbo.app ได้ เป็นกฎเดียวกับที่ตัวช่วยแสดงในขั้นตอน CORS

วิธีตั้งค่า CORS ขึ้นอยู่กับซอฟต์แวร์:

  • MinIO (รุ่น community) ไม่รองรับ CORS แยกตามบัคเก็ต แต่ใช้การตั้งค่าส่วนกลาง (MINIO_API_CORS_ALLOW_ORIGIN) ที่อนุญาตทุก origin โดยค่าเริ่มต้น หากคุณไม่ได้เปลี่ยนค่านี้ ก็ไม่ต้องทำอะไร เพียงกด เพิ่มแล้ว ตรวจสอบ แล้วการตรวจสอบจะผ่าน หากคุณเปลี่ยนค่าไว้ ให้ใส่ https://nubbo.app ด้วย
  • Ceph และ SeaweedFS รองรับ CORS แยกตามบัคเก็ตผ่าน S3 API นำกฎนี้ไปใช้ด้วยเครื่องมือที่คุณใช้ประจำ (เช่น aws s3api put-bucket-cors กับ endpoint ของคุณ) หรือให้ Nubbo ทำให้ในการเชื่อมต่อแบบอัตโนมัติ
[
  {
    "AllowedHeaders": ["*"],
    "AllowedMethods": ["GET", "PUT", "POST", "DELETE", "HEAD"],
    "AllowedOrigins": ["https://nubbo.app"],
    "ExposeHeaders": ["ETag"],
    "MaxAgeSeconds": 3600
  }
]
ขั้นตอน CORS พร้อมกฎที่ต้องเพิ่มลงในบัคเก็ต ขั้นตอน CORS พร้อมกฎที่ต้องเพิ่มลงในบัคเก็ต

เมื่อกฎพร้อมแล้ว กลับไปที่ Nubbo แล้วกด เพิ่มแล้ว ตรวจสอบ บน Ceph และ SeaweedFS หากคีย์ของคุณเปลี่ยน CORS ได้ ปุ่ม ลองตั้งค่าให้ฉัน จะทำให้คุณเอง

หากเกิดปัญหา

ข้อความใน Nubboสิ่งที่ควรทำ
“ข้อมูลรับรองไม่ถูกต้อง ตรวจสอบ access key และ secret access key”คัดลอกคีย์ทั้งสองอีกครั้ง โดยไม่มีช่องว่างที่ต้นหรือท้าย
“คีย์นี้ดูเหมือนจะจำกัดไว้เพียงบัคเก็ตเดียว คุณสามารถดำเนินการต่อแบบจำกัด หรือสร้างคีย์ที่มีสิทธิ์เข้าถึงแบบเต็ม”กด ดำเนินการต่อด้วยคีย์แบบจำกัด หรือสร้างคีย์ที่มีสิทธิ์เข้าถึงทั้งบัญชีแล้วกด ลองใช้คีย์อื่น
“ไม่พบบัคเก็ต ตรวจสอบชื่อและภูมิภาค”ตรวจสอบชื่อบัคเก็ตให้ตรงทุกตัวอักษร และตรวจว่าภูมิภาคที่เลือกเป็นภูมิภาคของบัคเก็ต
“คีย์ของคุณไม่มีสิทธิ์สร้างบัคเก็ต”ใช้คีย์ที่มีสิทธิ์เข้าถึงแบบเต็ม หรือสร้างบัคเก็ตในแผงควบคุมของคุณแล้วกด ฉันสร้างไว้ในแผงควบคุมแล้ว
“ชื่อนี้ถูกใช้ไปแล้วที่ผู้ให้บริการนี้ โปรดลองชื่ออื่น”ชื่อบัคเก็ตต้องไม่ซ้ำกันทั้งผู้ให้บริการ โปรดเลือกชื่ออื่น
“คีย์ของคุณไม่มีสิทธิ์ตั้งค่านี้”เพิ่มกฎ CORS ด้วยตนเองตามที่อธิบายไว้ด้านบน
“ยังใช้งานไม่ได้ ตรวจสอบกฎแล้วลองอีกครั้ง ผู้ให้บริการบางรายใช้เวลาประมาณหนึ่งนาทีในการนำกฎไปใช้”ตรวจว่า origin เป็น https://nubbo.app ทุกตัวอักษรโดยไม่มีเครื่องหมายทับปิดท้าย รอหนึ่งนาทีแล้วตรวจสอบอีกครั้ง
“บัคเก็ตนี้ถูกใช้งานอยู่แล้ว”บัคเก็ตนั้นเชื่อมต่อใน Nubbo อยู่แล้ว ไม่ว่าจะในบัญชีของคุณหรือบัญชีอื่น
“ไม่สามารถเข้าถึง endpoint ของ S3 ได้ ตรวจสอบ URL ของ endpoint”ตรวจว่า URL เป็นแบบสาธารณะ ใช้ HTTPS และตอบสนองจากอินเทอร์เน็ตได้ ไม่ใช่เฉพาะจากเครือข่ายของคุณ
“URL ของ endpoint ไม่ถูกต้อง ตรวจสอบรูปแบบ”พิมพ์ URL แบบเต็มพร้อม https:// และไม่ต้องใส่ชื่อบัคเก็ต ข้อความนี้ยังแสดงเมื่อ URL ชี้ไปยังที่อยู่ส่วนตัวหรือที่อยู่ภายใน หรือเมื่อชื่อโดเมนค้นหาไม่พบ
“การเชื่อมต่อหมดเวลา ลองอีกครั้ง”ตรวจสอบไฟร์วอลล์ของเซิร์ฟเวอร์ และตรวจว่าพอร์ตเข้าถึงได้จากภายนอก

ค่าใช้จ่าย

หากคุณกำลังชั่งน้ำหนักระหว่างพื้นที่เก็บข้อมูลของคุณเองกับผู้ให้บริการ ลองเปรียบเทียบราคาและขีดจำกัดใน S3 vs R2 vs Spaces vs Wasabi vs Backblaze B2

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

พื้นที่เก็บข้อมูลแบบโฮสต์เองใดบ้างที่ใช้กับ Nubbo ได้?

พื้นที่เก็บข้อมูลใดก็ได้ที่รองรับ S3 API พร้อม Signature V4 เช่น MinIO, Ceph หรือ SeaweedFS รวมถึงผู้ให้บริการที่รองรับ S3 ซึ่งไม่อยู่ในรายการด้วย

เชื่อมต่อ MinIO ในเครือข่ายภายในได้ไหม?

ไม่ได้ endpoint ต้องเป็น URL สาธารณะ Nubbo จะปฏิเสธที่อยู่ส่วนตัวและที่อยู่ภายใน และเบราว์เซอร์ก็ต้องเข้าถึงได้ด้วย

ควรใช้ภูมิภาคใดหากเซิร์ฟเวอร์ของฉันไม่มีภูมิภาค?

us-east-1 ซึ่งเป็นภูมิภาคเริ่มต้นของเซิร์ฟเวอร์ที่รองรับ S3 ส่วนใหญ่

ทำไม Nubbo จึงตั้งค่า CORS บน MinIO ไม่ได้?

เพราะ MinIO รุ่น community ไม่รองรับ CORS แยกตามบัคเก็ต แต่ใช้การตั้งค่าส่วนกลางที่อนุญาตทุก origin โดยค่าเริ่มต้น และ Nubbo จะตรวจสอบค่านั้นให้

แหล่งที่มา

ราคาและขีดจำกัดมาจากหน้าเว็บทางการด้านล่าง ผู้ให้บริการอาจเปลี่ยนแปลงได้ โปรดตรวจสอบก่อนตัดสินใจ