توثيق Webship

تثبيت وتكوين وأتمتة Webship.

قم بتكوين والتحقق ونشر وأتمتة خادم الحافة AI-Native Webship مع أمثلة TOML مختصرة وإرشادات تشغيل مثبتة بالإصدار.

إصدار الوثائق

Webship 1.0.0

تم إصدار 2026-08-22. هذا الرابط مثبت على الإصدار المختار.

المستمع الافتراضي
127.0.0.1:4433
الإعدادات
TOML
TLS
TLS 1.3

نظرة عامة على المنتج

خادم واحد بين الشبكة وتطبيقك.

Webship هو خادم حافة وخادم ويب ثابت مستضاف ذاتيًا Rust. يقوم وقت التشغيل الواحد بإنهاء البروتوكولات الحديثة، وتطبيق سياسات الحافة، وخدمة الملفات، وتمرير طلبات التطبيقات.

النقل الحديث

اقبل HTTP/1.1، HTTP/2، وHTTP/3، مع TLS 1.3 ونقطة نهاية اختيارية WebTransport.

التسليم الثابت والمُرحَّل

خدم الملفات الثابتة مع أدوات التحقق وملحقات مسبقة الضغط، أو مرّر حركة مرور التطبيقات عبر مجموعات أساسية محدودة أعلى.

الإعدادات الافتراضية الآمنة

ابدأ بجدار حماية التطبيقات الشبكية (WAF)، ضوابط DDoS، تحدي الروبوتات، رؤوس أمان الاستجابة، درع API، وحماية الملفات النقطة (dot-file) مفعلة.

عمليات قابلة للملاحظة

استخدم الإحصاءات المصادَق عليها، مقاييس بروميتياس، معرفات الطلب، إعادة التحميل السلسة، وطائرة التحكم الاختيارية MCP.

البدء السريع

من النسخة التنفيذية إلى المستمع الصحي.

ابدأ على حلقة الاتصال المحلية، تحقق من كل شيء قبل الربط، وتحقق من استجابة الصحة المدمجة قبل إضافة حركة المرور العامة.

  1. حضّر الملفات

    ضع الملف التنفيذي للإصدار، وملف التكوين TOML الخاص به، والجذر الثابت، وأي ملفات شهادة ومفتاح TLS مُعدّة على المضيف.

  2. تحقق وفحص

    شغّل كلا أمرَي التكوين. أصلح الخطأ الأول وافحص النتيجة الفعلية المختصرة قبل بدء التشغيل.

  3. ابدأ بشكل خاص

    ابدأ Webship باستخدام ملف TOML المختار. أضف زوج الشهادات الكامل أو TLS التلقائي عندما يكون الموقع جاهزًا لحركة المرور العامة الآمنة.

  4. تحقق من وقت التشغيل

    قم بالاتصال بـ GET /health محليًا. ثم اختبر المسارات الثابتة، وTLS، ومسارات البروكسي، وقواعد الأمان، والمراقبة المصادقة.

config.toml الحد الأدنى
listen = "127.0.0.1:4433"
workers = 4
root = "./public"
التحقق قبل بدء التشغيل
/usr/local/bin/webship --check-config --config /etc/webship/production.toml
/usr/local/bin/webship --print-effective-config --config /etc/webship/production.toml
ابدأ وتحقق
/usr/local/bin/webship --config /etc/webship/production.toml
curl --http3-only --insecure https://127.0.0.1:4433/health

دليل البدء السريع لوكلاء الذكاء الاصطناعي

قم بتوصيل وكيل ذكاء اصطناعي إلى Webship في خمس أسطر.

قم بربط Claude Code أو OpenAI أو DeepSeek أو أي عميل MCP متوافق من خلال نفق SSH خاص. يستقبل الوكيل سطح عمليات مصادق عليه دون مشاركة المستمع العام أو كشف بيانات التحكم لحركة الإنترنت.

تكوين عميل MCP في خمس أسطر
{
  "mcpServers": {
    "webship": { "url": "https://localhost:19443/mcp",
      "headers": { "Authorization": "Bearer <token>" } }
  } }

التسليم الثابت

قدّم دليلًا بإعدادات افتراضية مدركة للبروتوكول.

قم بتعيين جذر عالميًا أو لكل موقع. مواقع TLS تستخدم HTTP/3 بشكل افتراضي فقط؛ مواقع النص الصريح تستخدم HTTP/1.1 وH2C بشكل افتراضي. تجاوز HTTP/1.1 وHTTP/2 وHTTP/3 بشكل مستقل لكل موقع.

موقع ثابت محدد بالنطاق
[[sites]]
domain = "app.example.com"
root = "/srv/app"
listen = "0.0.0.0:443"

[sites.protocols]
h1 = true
h2 = true
h3 = true

يدعم جهاز التوجيه المدمج GET وHEAD ونطاقات البايت والطلبات الشرطية والمصديقين وملفات .br و.zst و.gz الجانبية. يتم رفض مسارات ملفات النقطة بشكل افتراضي؛ تظل .well-known متاحة.

حركة مرور التطبيق

توجيه الطلبات إلى مصدر واحد أو أكثر.

تمكين التوجيه العكسي، مطابقة المضيف والمسار، ثم تحديد سياسة نهائية غير مشروطة. Webship يدعم المجموعات المحدودة، وفحوصات الصحة، وتوزيع الحمل، والفواصل الكهربائية، والمحاولات الآمنة بدون جسم، والويب سوكت، والتخزين المؤقت.

مسار واجهة برمجة التطبيقات ذو المصدرين
[reverse_proxy]
enabled = true

[[reverse_proxy.routes]]
domain = "app.example.com"
path_prefix = "/api"
strip_path_prefix = true
upstreams = ["127.0.0.1:8080", "127.0.0.1:8081"]

[[reverse_proxy.policies]]
name = "default"
hosts = []
path_prefixes = ["/"]
methods = []
max_body_bytes = 1048576
total_timeout_ms = 30000

TLS و HTTP/3

استخدم الشهادات اليدوية أو دع Webship يديرها.

Webship يقبل TLS 1.3. HTTP/3 يعمل عبر مستمع UDP المطابق؛ قم بتمكين HTTP/1.1 أو HTTP/2 صراحة عند الحاجة أيضًا إلى توافق TCP على موقع TLS.

TLS تلقائي مع TLS-ALPN-01
listen = "0.0.0.0:443"

[automatic_tls]
enabled = true
directory_url = "https://acme-v02.api.letsencrypt.org/directory"
cache_dir = "/var/lib/webship/acme"
contacts = ["mailto:ops@example.com"]
accept_terms_of_service = true

[[sites]]
domain = "app.example.com"
root = "/srv/app"

سياسة الحافة

حافظ على الخط الأساسي الآمن كما هو.

يُمكّن Webship الطبقات الرئيسية لحمايته بشكل افتراضي. اضبط الحدود وفقًا لحمولة عملك وتحقق بعد كل تغيير في القاعدة أو سياسة الرأس.

سياسة DDoS وعناوين الاستجابة
[ddos]
enabled = true
mode = "normal"
requests_per_minute = 600
burst = 100
block_seconds = 300

[security.response_headers]
enabled = true
nosniff = true
frame_deny = true
referrer_no_referrer = true
hsts = "max-age=31536000; includeSubDomains"
content_security_policy = "default-src 'self'; frame-ancestors 'none'"

استخدم الوضع العادي لحركة المرور العادية، وunder_attack للتعامل الصارم مع الهجمات النشطة، وlockdown عندما يجب أن تبقى المتاحة فقط المسارات التجريبية والمسارات المسموح بها صراحة.

تشخيصات خاصة

افحص الحافة بدون كشف طبقة التحكم.

الإحصاءات وقياسات بروميتياس تعمل على مستمع منفصل مصادق عليه. يجب تمكين الأدوات القياسية كلما كان أي من النقطتين النهايتين نشطتين.

القدرة على المراقبة المحلية المصادق عليها
[observability]
instrumentation = true
stats = true
metrics = true
listen = "127.0.0.1:9090"
token = "replace-with-at-least-32-random-printable-ascii-characters"

عمليات آمنة

أعد التحميل عن عمد. احتفظ بعملية التراجع قريبة.

إعادة تحميل التكوين

أرسل SIGHUP بعد تعديل تكوين مدعوم بملف. يقوم Webship بالتحقق من الاستبدال قبل تثبيته ويحتفظ بالتكوين الجاري عند فشل التحقق.

الترقية والتراجع

قم بتثبيت البرنامج الثنائي الجديد بجانب الإصدار السابق، تحقق من تكوين الإنتاج باستخدامه، ثم تحقق من الصحة و TLS والوكالة والقياسات. احتفظ بالبرنامج الثنائي السابق حتى تمر كل البوابات.

إعادة التحميل وأوامر systemd
kill -HUP "$(pidof webship)"
/usr/local/bin/webship update --config /etc/webship/production.toml
sudo systemctl daemon-reload
sudo systemctl enable --now webship
sudo systemctl status webship

مرجع سطر الأوامر

سطح صغير، بدء صريح.

webship [OPTIONS] | webship update [OPTIONS]

-c، --config PATH
حدد ملف TOML. إذا لم يكن موجودًا، يقوم Webship بإنشائه بهوية TLS محلية خاصة.
--check-config
تحقق من التكوين الكامل واخرج دون بدء المستمعين.
--طباعة-التكوين الفعال
اطبع التكوين الفعال المدمج مع إزالة الأسرار.
تحديث
تحقق من البيان المجتمعي الموقع، اختر هذا الهدف المحدد للمنصة، وقم بتثبيت إصدار أحدث عند وجوده.
--مساعدة / --الإصدار
اطبع مساعدة الأمر أو إصدار Webship المثبت.

أنماط الفشل الشائعة

ابدأ بالإعداد، ثم انتقل إلى الخارج.

  1. شغّل --check-config وقم بتصحيح أول خطأ مُبلغ عنه؛ الحقول غير المعروفة في TOML يتم رفضها.
  2. تأكد من أن منافذ TCP و UDP المكوّنة متاحة ومسموح بها من قبل جدار الحماية.
  3. تأكد من أن الشهادة والمفتاح موجودان، ويمكن لحساب الخدمة قراءتهما، ويشكلان زوجًا متطابقًا.
  4. لـ TLS التلقائي، تأكد من أن كل نطاق تم تكوينه يحل إلى المضيف Webship.
  5. استدعاء /health على مستمع التطبيق المحلي قبل الاختبار عبر DNS أو مسار التحميل الخارجي.
  6. تمكين الرصد المصادق مؤقتًا عند الحاجة إلى دليل وقت التشغيل.