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.
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.
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.
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.
Ověřte runtime
Zavolejte GET /health lokálně. Poté otestujte statické cesty, TLS, proxy trasy, bezpečnostní pravidla a autentizované monitorování.
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/healthRychlý 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.
{
"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.
[[sites]]
domain = "app.example.com"
root = "/srv/app"
listen = "0.0.0.0:443"
[sites.protocols]
h1 = true
h2 = true
h3 = trueVestavě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í.
[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 = 30000TLS 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.
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]
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ů.
[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.
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 webshipReference 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.
- Spusťte --check-config a opravte první nahlášenou chybu; neznámé pole TOML jsou zamítnuta.
- Potvrďte, že nakonfigurované TCP a UDP porty jsou dostupné a povolené firewallem.
- Ověřte, že certifikát a klíč existují, jsou čitelné pro účet služby a tvoří odpovídající pár.
- Pro automatické TLS potvrďte, že každý nakonfigurovaný doménový název směřuje na hostitele Webship.
- Před testováním přes DNS nebo externí cestu zatížení zavolejte /health na místním posluchači aplikace.
- Dočasně povolte autentizovanou pozorovatelnost, když jsou vyžadovány runtime důkazy.