Webship dokümantasyonu

Webship yükleyin, yapılandırın ve otomatikleştirin.

AI-Native Webship uç sunucusunu yapılandırın, doğrulayın, dağıtın ve basit TOML örnekleri ile sürüm sabitli işletim rehberiyle otomatikleştirin.

Belgelendirme sürümü

Webship 1.0.0

2026-08-22 yayınlandı. Bu URL seçilen sürüme sabitlenmiştir.

Varsayılan dinleyici
127.0.0.1:4433
Yapılandırma
TOML
TLS
TLS 1.3

Ürün genel bakışı

Ağ ile uygulamanız arasında bir sunucu.

Webship kendi kendine barındırılan bir Rust kenar ve statik web sunucusudur. Bir çalışma zamanı modern protokolleri sonlandırır, kenar politikasını uygular, dosyaları sunar ve uygulama isteklerini proxyler.

Modern taşıma

HTTP/1.1, HTTP/2 ve HTTP/3 kabul edin; TLS 1.3 ve isteğe bağlı bir WebTransport uç noktası ile.

Statik ve proxyli teslimat

Doğrulayıcılar ve önceden sıkıştırılmış yan arabirimlerle statik dosyaları sunun veya uygulama trafiğini sınırlandırılmış üst havuzlar üzerinden yönlendirin.

Güvenli varsayılanlar

WAF, DDoS kontrolleri, bot testi, yanıt güvenlik başlıkları, API Shield ve nokta-dosyası koruması etkinleştirerek başlayın.

Gözlemlenebilir operasyonlar

Kimlik doğrulamalı istatistikleri, Prometheus metriklerini, istek kimliklerini, kademeli yeniden yüklemeleri ve isteğe bağlı MCP kontrol düzlemini kullanın.

Hızlı başlangıç

Sürüm ikili dosyadan sağlıklı dinleyiciye.

Loopback üzerinde başlatın, bağlamadan önce her şeyi doğrulayın ve genel trafiği eklemeden önce yerleşik sağlık yanıtını doğrulayın.

  1. Dosyaları hazırlayın

    Sürüm ikilisini, TOML yapılandırmasını, statik kökü ve yapılandırılmış herhangi bir TLS sertifikası ve anahtar dosyalarını sunucuda yerleştirin.

  2. Doğrulayın ve inceleyin

    Her iki yapılandırma komutunu çalıştırın. İlk hatayı düzeltin ve başlatmadan önce sansürlenmiş etkin sonucu inceleyin.

  3. Özel olarak başlatın

    Seçilen TOML dosyası ile Webship başlatın. Site güvenli genel trafiğe hazır olduğunda tam bir sertifika çifti veya otomatik TLS ekleyin.

  4. Çalışma zamanını doğrulayın

    Yerel olarak GET /health çağrısı yapın. Ardından statik yolları, TLS'yi, proxy rotalarını, güvenlik kurallarını ve kimlik doğrulamalı izlemeyi test edin.

Minimal config.toml
listen = "127.0.0.1:4433"
workers = 4
root = "./public"
Başlatmadan önce doğrula
/usr/local/bin/webship --check-config --config /etc/webship/production.toml
/usr/local/bin/webship --print-effective-config --config /etc/webship/production.toml
Başlat ve doğrula
/usr/local/bin/webship --config /etc/webship/production.toml
curl --http3-only --insecure https://127.0.0.1:4433/health

Yapay Zeka Ajanları için Hızlı Başlangıç Kılavuzu

Bir AI ajanını Webship ile beş satırda bağlayın.

Claude Code, OpenAI, DeepSeek veya herhangi bir uyumlu MCP istemcisini özel bir SSH tüneli üzerinden bağlayın. Ajan, genel dinleyiciyi paylaşmadan veya kontrol kimlik bilgilerini internet trafiğine açmadan kimlik doğrulamalı bir operasyon yüzeyi alır.

Beş satırlık MCP istemci yapılandırması
{
  "mcpServers": {
    "webship": { "url": "https://localhost:19443/mcp",
      "headers": { "Authorization": "Bearer <token>" } }
  } }

Statik dağıtım

Bir dizini protokole duyarlı varsayılanlarla sunun.

Bir kök dizini global olarak veya her site için ayarlayın. TLS siteleri varsayılan olarak sadece HTTP/3 kullanır; açık metin siteleri varsayılan olarak HTTP/1.1 ve H2C kullanır. HTTP/1.1, HTTP/2 ve HTTP/3 her site için bağımsız olarak geçersiz kılınabilir.

Alan adına özgü statik site
[[sites]]
domain = "app.example.com"
root = "/srv/app"
listen = "0.0.0.0:443"

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

Dahili yönlendirici GET ve HEAD, bayt aralıkları, koşullu istekler, doğrulayıcılar ve .br, .zst ve .gz yan dosyalarını destekler. Nokta ile başlayan dosya yolları varsayılan olarak reddedilir; .well-known kullanılabilir olmaya devam eder.

Uygulama trafiği

İstekleri bir veya daha fazla üst akışa yönlendirin.

Ters proxylemeyi etkinleştirin, bir host ve yolu eşleştirin, sonra nihai koşulsuz bir politika tanımlayın. Webship sınırlı havuzları, sağlık kontrollerini, yük dengeleme, devre kesicileri, güvenli gövdesiz yeniden denemeleri, WebSocket'leri ve önbellekleme desteğini destekler.

İki upstream API rotası
[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 ve HTTP/3

Manuel sertifikalar kullanın veya Webship'ın bunları yönetmesine izin verin.

Webship, TLS 1.3'ü kabul eder. HTTP/3, eşleşen UDP dinleyicisi üzerinde çalışır; TLS sitesi ayrıca TCP uyumluluğu gerektirdiğinde HTTP/1.1 veya HTTP/2'i açıkça etkinleştirin.

TLS-ALPN-01 ile otomatik TLS
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"

Uç politika

Güvenli temel ayarları koruyun.

Webship ana koruma katmanlarını varsayılan olarak etkinleştirir. İş yükünüze uygun sınırları ayarlayın ve her kural veya başlık-politikası değişikliğinden sonra doğrulayın.

DDoS ve yanıt başlığı politikası
[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'"

Normal trafik için normal modu, daha sıkı aktif saldırı işlemi için under_attack modunu ve yalnızca taramalar ile açıkça izin verilen yolların erişilebilir olmasını istediğinizde lockdown modunu kullanın.

Özel teşhisler

Kontrol düzlemini açığa çıkarmadan kenarı inceleyin.

İstatistikler ve Prometheus metrikleri ayrı bir kimlik doğrulamalı dinleyicide çalıştırılır. Her iki uç nokta etkin olduğunda enstrümantasyon etkinleştirilmelidir.

Kimlik doğrulamalı yerel gözlemlenebilirlik
[observability]
instrumentation = true
stats = true
metrics = true
listen = "127.0.0.1:9090"
token = "replace-with-at-least-32-random-printable-ascii-characters"

Güvenli işlemler

Kasıtlı olarak yeniden yükle. Geri alma işlemini yakın tut.

Yapılandırma yeniden yükleme

Dosya tabanlı bir yapılandırmayı düzenledikten sonra SIGHUP gönderin. Webship yüklemeden önce değişikliği doğrular ve doğrulama başarısız olduğunda çalışan yapılandırmayı korur.

Yükseltme ve geri alma

Yeni ikili dosyayı önceki sürümün yanına kurun, üretim yapılandırmasını onunla doğrulayın, ardından sağlık, TLS, proxy ve metrikleri kontrol edin. Her kapı geçene kadar önceki ikili dosyayı saklayın.

Yeniden yükleme ve systemd komutları
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

Komut satırı referansı

Küçük yüzey, açık başlangıç.

webship [OPTIONS] | webship update [OPTIONS]

-c, --config PATH
TOML dosyasını seçin. Eğer yoksa, Webship bunu özel bir localhost TLS kimliği ile oluşturur.
--check-config
Tam yapılandırmayı doğrulayın ve dinleyicileri başlatmadan çıkın.
--print-effective-config
Birleştirilmiş etkili yapılandırmayı, sırlar çıkarılmış şekilde yazdırın.
update
İmzalanmış topluluk manifestosunu doğrulayın, bu kesin platform hedefini seçin ve mevcutsa daha yeni bir sürüm yükleyin.
--help / --version
Komut yardımını veya yüklü Webship sürümünü yazdırın.

Yaygın hata modları

Konfigürasyonla başlayın, sonra dışa doğru ilerleyin.

  1. --check-config çalıştırın ve bildirilen ilk hatayı düzeltin; bilinmeyen TOML alanları reddedilir.
  2. Yapılandırılmış TCP ve UDP portlarının kullanılabilir ve güvenlik duvarı tarafından izin verildiğinden emin olun.
  3. Sertifikanın ve anahtarın mevcut olduğunu, servis hesabı tarafından okunabildiğini ve eşleşen bir çift oluşturduğunu doğrulayın.
  4. Otomatik TLS için, yapılandırılmış her alan adının Webship ana bilgisayarına çözüldüğünü doğrulayın.
  5. DNS veya harici yük yolu üzerinden test etmeden önce yerel uygulama dinleyicisinde /health çağrısı yapın.
  6. Çalışma zamanı kanıtı gerektiğinde kimlik doğrulamalı gözlemlenebilirliği geçici olarak etkinleştirin.