Dokumentace Webship

Instalujte, konfigurujte a automatizujte Webship.

Konfigurujte, ověřujte, nasazujte a automatizujte AI-nativní Webship hranový server s stručnými příklady TOML a operačními pokyny s pevně stanovenou verzí.

Verze dokumentace

Webship 1.0.0

Uvolněno 2026-08-22. Tato URL je připnuta k vybranému vydání.

Výchozí posluchač
127.0.0.1:4433
Konfigurace
TOML
TLS
TLS 1.3

Přehled produktu

Jeden server mezi sítí a vaší aplikací.

Webship je samostatně hostovaný Rust okrajový a statický webový server. Jeden runtime ukončuje moderní protokoly, aplikuje okrajovou politiku, poskytuje soubory a proxyuje požadavky aplikace.

Moderní doprava

Přijímejte HTTP/1.1, HTTP/2 a HTTP/3, s TLS 1.3 a volitelným koncovým bodem WebTransport.

Statická a proxy distribuce

Podávejte statické soubory s validátory a předkomprimovanými doplňky, nebo směrujte provoz aplikace přes omezené upstream pooly.

Bezpečné výchozí nastavení

Začněte s povoleným WAF, kontrolami DDoS, výzvou pro boty, bezpečnostními hlavičkami odpovědí, API Shield a ochranou souborů s tečkou.

Pozorovatelné operace

Používejte autentizovanou statistiku, Prometheus metriky, ID požadavků, plynulé restartování a volitelnou řídicí rovinu MCP.

Rychlý start

Od vydané binárky k zdravému posluchači.

Spusťte na loopbacku, ověřte vše před připojením a zkontrolujte vestavěnou odpověď o zdraví před přidáním veřejného provozu.

  1. Připravte soubory

    Umístěte spustitelný soubor release, jeho TOML konfiguraci, statický kořen a všechny nakonfigurované TLS certifikáty a klíčové soubory na hostitele.

  2. Ověřte a zkontrolujte

    Spusťte oba konfigurační příkazy. Opravte první chybu a zkontrolujte upravený účinný výsledek před spuštěním.

  3. Začít soukromě

    Spusťte Webship s vybraným TOML souborem. Přidejte kompletní pár certifikátů nebo automatický TLS, když je stránka připravena pro zabezpečený veřejný provoz.

  4. Ověřte runtime

    Zavolejte GET /health lokálně. Poté otestujte statické cesty, TLS, proxy trasy, bezpečnostní pravidla a autentizované monitorování.

Minimální config.toml
listen = "127.0.0.1:4433"
workers = 4
root = "./public"
Ověřte před spuštěním
/usr/local/bin/webship --check-config --config /etc/webship/production.toml
/usr/local/bin/webship --print-effective-config --config /etc/webship/production.toml
Spuštění a ověření
/usr/local/bin/webship --config /etc/webship/production.toml
curl --http3-only --insecure https://127.0.0.1:4433/health

Rychlý návod pro AI agenty

Připojte AI agenta k Webship pěti řádky.

Připojte Claude Code, OpenAI, DeepSeek nebo jakéhokoli kompatibilního MCP klienta přes soukromý SSH tunel. Agent získá autentizovaný operační povrch, aniž by sdílel veřejného posluchače nebo vystavoval přihlašovací údaje kontrole internetovému provozu.

Pět-řádková konfigurace klienta MCP
{
  "mcpServers": {
    "webship": { "url": "https://localhost:19443/mcp",
      "headers": { "Authorization": "Bearer <token>" } }
  } }

Statické doručení

Servírujte adresář s výchozími hodnotami závislými na protokolu.

Nastavte kořen globálně nebo pro jednotlivé stránky. TLS stránky mají ve výchozím nastavení pouze HTTP/3; nešifrované stránky mají ve výchozím nastavení HTTP/1.1 a H2C. Přepište HTTP/1.1, HTTP/2 a HTTP/3 nezávisle pro každou stránku.

Statická stránka specifická pro doménu
[[sites]]
domain = "app.example.com"
root = "/srv/app"
listen = "0.0.0.0:443"

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

Vestavěný router podporuje GET a HEAD, rozsahy bajtů, podmíněné požadavky, validátory a boční soubory .br, .zst a .gz. Cesty k tečkovým souborům jsou ve výchozím nastavení odmítnuty; .well-known zůstává dostupné.

Aplikační provoz

Směřujte požadavky na jednoho nebo více upstreamů.

Povolte reverzní proxy, odpovídejte hostiteli a cestě, a pak definujte konečnou bezpodmínečnou politiku. Webship podporuje omezené pooly, kontrolu zdravotního stavu, vyvažování zátěže, přerušovače obvodů, bezpečné opakované pokusy bez těla požadavku, WebSockets a cachování.

API trasa se dvěma upstreamy
[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 a HTTP/3

Použijte manuální certifikáty nebo nechte Webship je spravovat.

Webship přijímá TLS 1.3. HTTP/3 běží přes odpovídající UDP listener; explicitně povolte HTTP/1.1 nebo HTTP/2, když TLS stránka také potřebuje kompatibilitu s TCP.

Automatický TLS s 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"

Okrajová politika

Udržujte bezpečný základní stav nedotčený.

Webship ve výchozím nastavení aktivuje své hlavní ochranné vrstvy. Upravte limity podle svého zatížení a ověřte po každé změně pravidla nebo zásady hlavičky.

DDoS a politika hlaviček odpovědí
[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'"

Použijte normální režim pro běžný provoz, režim under_attack pro přísnější zpracování aktivních útoků a lockdown, když by měly zůstat k dispozici pouze sondy a výslovně povolené cesty.

Soukromá diagnostika

Prohlédněte okraj, aniž byste vystavili řídicí rovinu.

Statistiky a Prometheus metriky běží na samostatném autentikovaném listeneru. Instrumentace musí být povolena vždy, když je aktivní některý z koncových bodů.

Autentizovaná lokální pozorovatelnost
[observability]
instrumentation = true
stats = true
metrics = true
listen = "127.0.0.1:9090"
token = "replace-with-at-least-32-random-printable-ascii-characters"

Bezpečné operace

Záměrně znovu načtěte. Udržujte možnost obnovení blízko.

Přenačtení konfigurace

Po úpravě konfigurace založené na souboru pošlete SIGHUP. Webship ověří náhradu před jejím instalováním a zachová běžící konfiguraci, pokud ověření selže.

Upgrade a návrat zpět

Nainstalujte nový binární soubor vedle předchozí verze, ověřte produkční konfiguraci s ním a poté zkontrolujte stav, TLS, proxy a metriky. Ponechte předchozí binární soubor, dokud všechny kontroly neprojdou.

Příkazy pro reload a 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

Reference příkazového řádku

Malá plocha, explicitní spuštění.

webship [OPTIONS] | webship update [OPTIONS]

-c, --config PATH
Vyberte soubor TOML. Pokud neexistuje, Webship jej vytvoří s privátním localhost TLS identitním certifikátem.
--check-config
Ověřte kompletní konfiguraci a ukončete bez spouštění posluchačů.
--print-effective-config
Tiskněte sloučenou efektivní konfiguraci bez tajemství.
aktualizace
Ověřte podepsaný komunitní manifest, vyberte tento přesný cílový platformní systém a nainstalujte novější verzi, pokud existuje.
--help / --version
Tiskněte nápovědu příkazu nebo nainstalovanou verzi Webship.

Běžné způsoby selhání

Začněte konfigurací, poté postupujte směrem ven.

  1. Spusťte --check-config a opravte první nahlášenou chybu; neznámé pole TOML jsou zamítnuta.
  2. Potvrďte, že nakonfigurované TCP a UDP porty jsou dostupné a povolené firewallem.
  3. Ověřte, že certifikát a klíč existují, jsou čitelné pro účet služby a tvoří odpovídající pár.
  4. Pro automatické TLS potvrďte, že každý nakonfigurovaný doménový název směřuje na hostitele Webship.
  5. Před testováním přes DNS nebo externí cestu zatížení zavolejte /health na místním posluchači aplikace.
  6. Dočasně povolte autentizovanou pozorovatelnost, když jsou vyžadovány runtime důkazy.