Webship dokumentáció

Telepítse, konfigurálja és automatizálja a Webship-t.

Konfigurálja, érvényesítse, telepítse és automatizálja az AI-native Webship élő szervert tömör TOML példákkal és verzióhoz kötött üzemeltetési útmutatással.

Dokumentáció verzió

Webship 1.4.0Jelenlegi

Kibocsátva 2026-09-13. Ez a URL a kiválasztott kiadáshoz van rögzítve.

Alapértelmezett hallgató
127.0.0.1:4433
Konfiguráció
TOML
TLS
TLS 1.3

Termék áttekintés

Egy szerver a hálózat és az alkalmazásod között.

Webship egy saját hostolt Rust edge és statikus web szerver. Egy futtatókörnyezet modern protokollokat kezel, alkalmazza az edge szabályzatot, fájlokat szolgál ki, és proxyként működik az alkalmazás kéréseihez.

Modern adatátvitel

Fogadja el a HTTP/1.1, HTTP/2 és HTTP/3 értékeket, TLS 1.3-vel és egy opcionális WebTransport végponttal.

Statikus és proxizott kiszolgálás

Statikus fájlok kiszolgálása érvényesítőkkel és előre tömörített mellékszoftverekkel, vagy az alkalmazásforgalom proxizása korlátos upstream poolokon keresztül.

Biztonságos alapértelmezett beállítások

Kezdje a WAF, DDoS-vezérlés, bot kihívás, válaszbiztonsági fejlécek, API Shield és pontfájl-védelem engedélyezésével.

Megfigyelhető műveletek

Használjon hitelesített statisztikákat, Prometheus-mutatókat, kérések azonosítóit, fokozatos újratöltéseket és az opcionális MCP vezérlési síkot.

Gyors kezdés

A kiadott bináristól az egészséges hallgatóig.

Indítás loopback-en, mindent ellenőrizzen a kötés előtt, és ellenőrizze a beépített egészségválaszt, mielőtt nyilvános forgalmat adna hozzá.

  1. Fájlok előkészítése

    Helyezze el a kiadott bináris fájlt, annak TOML konfigurációját, a statikus gyökérkönyvtárat, valamint bármely beállított TLS tanúsítványt és kulcsfájlt a gazdagépen.

  2. Érvényesítés és ellenőrzés

    Futtassa mindkét konfigurációs parancsot. Javítsa az első hibát, és ellenőrizze a szűrt hatékony eredményt az indítás előtt.

  3. Indítás privát módban

    Indítsa el a Webship-t a kiválasztott TOML fájl segítségével. Adjon hozzá egy teljes tanúsítványpárost, vagy használjon automatikus TLS-t, amikor az oldal készen áll a biztonságos nyilvános forgalomra.

  4. Ellenőrizze a futási környezetet

    Hívja a GET /health-t helyben. Ezután tesztelje a statikus útvonalakat, TLS-t, proxy útvonalakat, biztonsági szabályokat és az autentikált monitorozást.

Minimális config.toml
listen = "127.0.0.1:4433"
workers = 4
root = "./public"
Érvényesítés indítás előtt
/usr/local/bin/webship --check-config --config /etc/webship/production.toml
/usr/local/bin/webship --print-effective-config --config /etc/webship/production.toml
Indítás és ellenőrzés
/usr/local/bin/webship --config /etc/webship/production.toml
curl --http3-only --insecure https://127.0.0.1:4433/health

Gyors indítási útmutató AI ügynökök számára

Csatlakoztass egy AI ágenst Webship-hoz öt sorban.

Csatlakoztassa a Claude Code-ot, OpenAI-t, DeepSeek-et vagy bármely kompatibilis MCP klienst egy privát SSH alagúton keresztül. Az ügynök egy hitelesített működési felületet kap anélkül, hogy megosztaná a nyilvános hallgatót vagy kiteszi az irányító hitelesítő adatokat az internetes forgalomnak.

Ötsoros MCP kliens konfiguráció
{
  "mcpServers": {
    "webship": { "url": "https://localhost:19443/mcp",
      "headers": { "Authorization": "Bearer <token>" } }
  } }

Statikus kiszolgálás

Szolgáltasson egy könyvtárat protokollismerő alapértékekkel.

Állítson be egy gyökérkönyvtárat globálisan vagy oldalanként. A TLS oldalak alapértelmezés szerint csak HTTP/3-t használnak; a tiszta szöveges oldalak alapértelmezettje HTTP/1.1 és H2C. Felülírhatja a HTTP/1.1, HTTP/2 és HTTP/3 beállításokat minden oldalon külön-külön.

Domain-specifikus statikus oldal
[[sites]]
domain = "app.example.com"
root = "/srv/app"
listen = "0.0.0.0:443"

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

A beépített útválasztó támogatja a GET és HEAD kéréseket, a bájttartományokat, a feltételes kéréseket, a validátorokat, valamint a .br, .zst és .gz kiegészítő fájlokat. A ponttal kezdődő fájlútvonalak alapértelmezetten elutasításra kerülnek; a .well-known továbbra is elérhető marad.

Alkalmazásforgalom

Irányítsa a kéréseket egy vagy több upstreamhez.

Engedélyezze a visszairányító proxyt, egyeztesse a hosztot és az elérési utat, majd határozzon meg egy végső feltétel nélküli házirendet. A Webship támogatja a korlátozott medencéket, az egészségellenőrzéseket, a terheléselosztást, az áramkör-megszakítókat, a biztonságos, test nélküli újrapróbálkozásokat, a WebSocketeket és a gyorsítótárazást.

Két-upstream API útvonal
[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 és HTTP/3

Használjon kézi tanúsítványokat, vagy hagyja, hogy Webship kezelje azokat.

Webship 1.4.0 elfogadja a TLS 1.3-t, és minden oldal lehetővé teszi, hogy függetlenül válassza ki a tanúsítvány módját. A HTTP/3 a megfelelő UDP figyelőt használja; engedélyezze a HTTP/1.1 vagy HTTP/2-et, ha ugyanazon TLS oldalnak TCP kompatibilitásra is szüksége van.

Nyilvános, oldalankénti alapértelmezett régi megosztott oldallal
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"
certificate_mode = "per_site" # default public ACME certificate

[[sites]]
domain = "legacy.example.com"
root = "/srv/legacy"
certificate_mode = "shared" # legacy public multi-SAN certificate

Webship 1.4.0 tanúsítvány-architektúra

Válassz tanúsítvány-trustot és skálát minden webhelyhez külön-külön.

Webship 1.4.0 a certificate_mode-t minden [[sites]] bejegyzésre áthelyezi. Nyilvános per-site ACME, nyilvános DNS-01 flottamegosztott példányok, a beágyazott privát CA, a régi megosztott tanúsítvány és a manuális tanúsítványfájlok egy önálló folyamatban együtt létezhetnek.

on_site — nyilvános tanúsítvány

Az alapértelmezett. Rendelj egy böngésző által megbízhatónak tekintett nyilvános ACME tanúsítványt a webhely pontos nevére TLS-ALPN-01 segítségével.

flotta — nyilvános DNS-01 darabok

Használj nyilvános DNS-01 kiadást sok harmadik- és negyedik szintű névhez a kifejezetten regisztrált domainek alatt. A nevek stabil, csoportosított tanúsítványdarabokban maradnak.

beágyazott — privát CA

Adj ki külön tanúsítványt a folyamatban a Webship privát CA-jából. Nincs szükség nyilvános ACME fiókra, DNS-kihívásra, regisztrátori integrációra vagy bejövő 443-as portra.

megosztott — régi multi-SAN

Tartsd meg a régi nyilvános multi-SAN csoportot azokhoz a telepítésekhez, amelyekhez szükséges. Ez nem az alapértelmezett, és továbbra is a nyilvános CA azonosító korlátokra vonatkozik.

Önálló, nyilvános DNS-01 flott
[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

[automatic_tls.fleet]
shard_size = 64
batch_window_ms = 300000
weekly_certificate_limit = 50
emergency_certificate_reserve = 5
registered_domains = ["example.com"]

[automatic_tls.fleet.dns]
listen = "0.0.0.0:53"
nameservers = ["ns1.example.net"]
addresses = ["192.0.2.10"]
propagation_timeout_ms = 120000
resolver_url = "https://dns.google/resolve"
challenge_ttl_seconds = 900

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

[[sites]]
domain = "media.app.example.com"
root = "/srv/media"
certificate_mode = "fleet"
Privát beágyazott CA webhely
[automatic_tls]
enabled = true
cache_dir = "/var/lib/webship/acme"

[acme_ca]
state_dir = "/var/lib/webship/acme-ca"
leaf_validity_days = 90

[[sites]]
domain = "internal.example.com"
root = "/srv/internal"
certificate_mode = "embedded"

Szélei irányelv

Őrizze meg a biztonságos alapbeállítást.

Webship alapértelmezés szerint engedélyezi fő védelmi rétegeit. Állítsa be a korlátokat a munkaterheléshez, és ellenőrizze minden szabály- vagy fejléc-politika változás után.

DDoS és válaszfejléc szabályzat
[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'"

Használja a normál módot a szokásos forgalomhoz, az under_attack módot a szigorúbb aktív támadás kezeléshez, és a lockdown módot, amikor csak próba kérések és kifejezetten engedélyezett útvonalak legyenek elérhetők.

Privát diagnosztika

Vizsgálja az edge-t anélkül, hogy felfedné a vezérlő síkot.

A statisztikák és a Prometheus metrikák külön hitelesített hallgatón futnak. Az instrumentációt mindig engedélyezni kell, amikor bármelyik végpont aktív.

Hitelesített helyi megfigyelhetőség
[observability]
instrumentation = true
stats = true
metrics = true
listen = "127.0.0.1:9090"
token = "replace-with-at-least-32-random-printable-ascii-characters"

Biztonságos műveletek

Töltse újra szándékosan. Tartsa közel a visszaállítást.

Konfiguráció újratöltése

SIGHUP küldése fájl-alapú konfiguráció szerkesztése után. Webship ellenőrzi a cserét telepítés előtt, és megtartja a futó konfigurációt, ha az ellenőrzés sikertelen.

Frissítés és visszagörgetés

Telepítse az új binárist a korábbi verzió mellé, ellenőrizze a termelési konfigurációt vele, majd ellenőrizze az egészséget, TLS-t, proxyzást és a metrikákat. Tartsa meg a korábbi binárist, amíg minden ellenőrző pont át nem megy.

Újratöltési és systemd parancsok
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

Profil-vezérelt optimalizáció

Gyűjtsön cél-őshonos profilokat anélkül, hogy összekeverné a képzést és a termelést.

Minden Webship 1.4.0 célpontnak külön, instrumentált CLI-je van a célpont natív LLVM profiladatainak gyűjtésére a képviselő forgalmad alatt. Használd a pontos verziót és céltriplettet, hajtsd végre a fontos útvonalakat és protokollokat, és állítsd le a folyamatot szépen, hogy minden .profraw fájl ki tudjon ürülni.

  1. Válassza ki a pontos célt

    Töltse le a PGO képzési CLI-t, amelynek kiadási verziója és Rust céltriplája pontosan megegyezik azzal a környezettel, amelyet optimalizálni kíván. Először ellenőrizze a közzétett SHA-256-ot.

  2. Rögzítsen reprezentatív forgalmat

    Állítsd az LLVM_PROFILE_FILE-t írható könyvtárra, indítsd el a tréning CLI-t egy ellenőrzött, valós konfigurációs példánnyal, játssz le reprezentatív közvetlen és fordított proxy forgalmat, majd állítsd le Webship-t ésszerű módon.

  3. Egyesítse a nyers profilokat

    Használja a kiadásra készült fordító által generált llvm-profdata-t. Egyesítse az összes kibocsátott .profraw fájlt egyetlen sparse webship.profdata fájlba.

  4. Újraépítés és ellenőrzés

    Alkalmazza az egyesített profilt csak azokra a pontos forrásokra, fordítóra, kriptográfiai szolgáltatóra, funkciókészletre és célra, amelyek létrehozták azt. Futtassa a helyességi és teljesítményellenőrzéseket a promóció előtt.

Linux, macOS és OpenHarmony
mkdir -p ./profiles
export LLVM_PROFILE_FILE="$PWD/profiles/webship-%p-%m.profraw"
./webship-pgo-training-1.4.0-<target> --config ./webship.toml
Windows PowerShell
New-Item -ItemType Directory -Force ./profiles
$env:LLVM_PROFILE_FILE = "$PWD/profiles/webship-%p-%m.profraw"
.\webship-pgo-training-1.4.0-<target>.exe --config .\webship.toml
Egyesítés a megfelelő LLVM eszközkészlettel
llvm-profdata merge -sparse ./profiles/*.profraw -o ./webship.profdata

Parancssori hivatkozás

Kis felület, explict indítás.

webship [OPTIONS] | webship update [OPTIONS]

-c, --config PATH
Válassza ki a TOML fájlt. Ha az nem létezik, Webship létrehozza egy privát localhost TLS azonosítóval.
--check-config
Érvényesítse a teljes konfigurációt, és lépjen ki anélkül, hogy elindítaná a hallgatókat.
--print-effective-config
Nyomtassa ki az egyesített érvényes konfigurációt a titkok eltávolításával.
frissítés
Ellenőrizze az aláírt közösségi manifesztumot, válassza ki ezt a pontos platformcélt, és telepítsen egy újabb verziót, ha van.
--help / --version
Nyomtassa ki a parancs súgót vagy az telepített Webship verzióját.

Gyakori hibamódok

Kezdje a konfigurációval, majd haladjon kifelé.

  1. Futtassa a --check-config parancsot, és javítsa az első jelentett hibát; az ismeretlen TOML mezők elutasításra kerülnek.
  2. Ellenőrizze, hogy a konfigurált TCP és UDP portok elérhetők és a tűzfal által engedélyezettek legyenek.
  3. Ellenőrizze, hogy a tanúsítvány és a kulcs létezik-e, olvasható-e a szolgáltatásfiók számára, és egymáshoz illő párt alkotnak.
  4. Az automatikus TLS esetén ellenőrizze, hogy minden konfigurált domain a Webship hosztra oldódik.
  5. Hívja meg a /health útvonalat a helyi alkalmazás hallgatóján keresztül, mielőtt DNS-en vagy külső terhelési úton tesztelne.
  6. Ideiglenesen engedélyezze az hitelesített megfigyelhetőséget, amikor futásidejű bizonyíték szükséges.